Changeset 23


Ignore:
Timestamp:
Oct 5, 2010, 9:55:49 PM (14 years ago)
Author:
gnappo
Message:

Implementato pannello per la visualizzazione grafi.

Location:
src/main/java/weka/clusterers/forMetisMQI
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/weka/clusterers/forMetisMQI/GraphAlgorithms.java

    r22 r23  
    1111import weka.clusterers.forMetisMQI.graph.UndirectedGraph;
    1212import weka.clusterers.forMetisMQI.util.CoarserGraphElement;
     13import weka.clusterers.forMetisMQI.util.GraphsFrame;
    1314import weka.clusterers.forMetisMQI.util.Util;
    1415
     
    8182         */
    8283        static public Set<Set<Node>> metisMqi(UndirectedGraph g, int numberOfCluster, int sizeFinerGraph, boolean randomBisection) {
     84                GraphsFrame gf = new GraphsFrame("Prova");
    8385                System.out.println("Vertex count: " + g.getVertexCount());
    8486                System.out.println("Edges count: " + g.getEdgeCount());
     
    9395                Set<Set<Node>> clusters = new HashSet<Set<Node>>();
    9496                UndirectedGraph gclone = g.clone();
    95 //              Util.viewGraph(g);
     97                gf.addPanel(Util.panelGraph(gclone));
    9698                for (int i = 0; i < numberOfCluster; i++) {
    9799                        Bisection bisection = null;
     
    125127                        }
    126128                }
    127                 Util.viewClusters(gclone, clusters);
     129                gf.addPanel(Util.panelClusters(gclone, clusters));
     130                gf.setVisible(true);
    128131                return clusters;
    129132        }
  • src/main/java/weka/clusterers/forMetisMQI/util/Util.java

    r18 r23  
    1111
    1212import javax.swing.JFrame;
     13import javax.swing.JPanel;
    1314
    1415import org.apache.commons.collections15.Transformer;
     
    1920import weka.clusterers.forMetisMQI.graph.UndirectedGraph;
    2021import edu.uci.ics.jung.algorithms.layout.FRLayout;
    21 import edu.uci.ics.jung.algorithms.layout.ISOMLayout;
    2222import edu.uci.ics.jung.algorithms.layout.Layout;
    2323import edu.uci.ics.jung.graph.Graph;
     
    2727public class Util {
    2828       
    29         public static void viewCluster(Graph<Node, Edge> g, Set<Node> cluster) {
     29        public static JPanel panelCluster(Graph<Node, Edge> g, Set<Node> cluster) {
    3030                Set<Set<Node>> clusters = new HashSet<Set<Node>>();
    3131                clusters.add(cluster);
    32                 viewClusters(g, clusters);
     32                return panelClusters(g, clusters);
    3333        }
    3434       
    3535       
    36         public static void viewClusters(Graph<Node, Edge> g, Set<Set<Node>> clusters) {
     36        public static JPanel panelClusters(Graph<Node, Edge> g, Set<Set<Node>> clusters) {
    3737                Layout<Node, Edge> layout = new FRLayout<Node, Edge>(g);
    3838                layout.setSize(new Dimension(800, 600)); // sets the initial size of the space
     
    8585                                new ToStringLabeller<Edge>());
    8686                vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
    87                 JFrame frame = new JFrame("Graph View");
    88                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    89                 frame.getContentPane().add(vv);
    90                 frame.pack();
    91                 frame.setVisible(true);
     87                return vv;
    9288        }
    9389       
    94         public static void viewGraph(Graph<Node, Edge> g){
     90        public static JPanel panelGraph(Graph<Node, Edge> g){
    9591                Layout<Node, Edge> layout = new FRLayout<Node, Edge>(g);
    9692                layout.setSize(new Dimension(800,600)); // sets the initial size of the space
     
    10197                vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Node>());
    10298                vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<Edge>());
    103                 JFrame frame = new JFrame("Simple Graph View");
    104                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    105                 frame.getContentPane().add(vv);
    106                 frame.pack();
    107                 frame.setVisible(true);
     99                return vv;
    108100        }
    109101       
    110         public static void viewFlowGraph(Graph<Node, Edge> g, Map<Edge, Number> edgeFlowMap){
     102        public static JPanel panelFlowGraph(Graph<Node, Edge> g, Map<Edge, Number> edgeFlowMap){
    111103                class EdgeTransformer implements Transformer<Edge,String> {
    112104                        Map<Edge,Number> edgeFlowMap = null;
     
    126118                vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Node>());
    127119                vv.getRenderContext().setEdgeLabelTransformer(new EdgeTransformer(edgeFlowMap));
    128                 JFrame frame = new JFrame("Simple Graph View");
    129                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    130                 frame.getContentPane().add(vv);
    131                 frame.pack();
    132                 frame.setVisible(true);
     120                return vv;
    133121        }
    134122       
Note: See TracChangeset for help on using the changeset viewer.