Ignore:
Timestamp:
Oct 6, 2010, 4:02:40 PM (14 years ago)
Author:
gnappo
Message:

Inserita gestione pannelli per la visualizzazione grafi.

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

Legend:

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

    r23 r24  
    1616         */
    1717        private static final long serialVersionUID = 1L;
     18       
     19        private static GraphsFrame instance = null;
    1820
    1921        private int numberOfPanels = 0;
     
    2325        private JButton nextButton = null;
    2426        private JButton prevButton = null;
     27       
     28        public static GraphsFrame instance() {
     29                if(instance == null) {
     30                        instance = new GraphsFrame("Graphs Frame");
     31                }
     32                return instance;
     33        }
     34       
     35        private GraphsFrame() {
     36               
     37        }
    2538
    26         public GraphsFrame(String name) {
     39        private GraphsFrame(String name) {
    2740                super(name);
    2841                setBounds(new Rectangle(800, 700));
     42                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     43
    2944
    3045                graphPanel = new JPanel();
  • src/main/java/weka/clusterers/forMetisMQI/util/Util.java

    r23 r24  
    44import java.awt.Dimension;
    55import java.awt.Paint;
     6import java.util.Collection;
    67import java.util.HashMap;
    78import java.util.HashSet;
     
    910import java.util.Map;
    1011import java.util.Set;
     12import java.util.Map.Entry;
    1113
    12 import javax.swing.JFrame;
    1314import javax.swing.JPanel;
    1415
     
    2021import weka.clusterers.forMetisMQI.graph.UndirectedGraph;
    2122import edu.uci.ics.jung.algorithms.layout.FRLayout;
     23import edu.uci.ics.jung.algorithms.layout.KKLayout;
    2224import edu.uci.ics.jung.algorithms.layout.Layout;
    2325import edu.uci.ics.jung.graph.Graph;
     
    2729public class Util {
    2830       
    29         public static JPanel panelCluster(Graph<Node, Edge> g, Set<Node> cluster) {
     31        public static JPanel panelCluster(Graph<Node, Edge> g, Collection<Node> cluster) {
     32                Set<Node> setNodes = new HashSet<Node>();
     33                setNodes.addAll(cluster);
    3034                Set<Set<Node>> clusters = new HashSet<Set<Node>>();
    31                 clusters.add(cluster);
     35                clusters.add(setNodes);
    3236                return panelClusters(g, clusters);
    3337        }
    3438       
     39        public static JPanel panelClusters(Graph<Node, Edge> g, Set<Set<Node>> clusters) {
     40                return panelClusters(g,clusters,new ToStringLabeller<Node>());
     41        }
    3542       
    36         public static JPanel panelClusters(Graph<Node, Edge> g, Set<Set<Node>> clusters) {
    37                 Layout<Node, Edge> layout = new FRLayout<Node, Edge>(g);
     43        public static JPanel panelClusters(Graph<Node, Edge> g, Set<Set<Node>> clusters, Transformer<Node,String> transformer) {
     44                Layout<Node, Edge> layout = new KKLayout<Node, Edge>(g);
    3845                layout.setSize(new Dimension(800, 600)); // sets the initial size of the space
    3946                // The BasicVisualizationServer<V,E> is parameterized by the edge types
     
    8087                vv.setPreferredSize(new Dimension(800, 600)); // Sets the viewing area
    8188                                                                                                                // size
    82                 vv.getRenderContext().setVertexLabelTransformer(
    83                                 new ToStringLabeller<Node>());
    84                 vv.getRenderContext().setEdgeLabelTransformer(
    85                                 new ToStringLabeller<Edge>());
     89                vv.getRenderContext().setVertexLabelTransformer(transformer);
    8690                vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
    8791                return vv;
     
    8993       
    9094        public static JPanel panelGraph(Graph<Node, Edge> g){
    91                 Layout<Node, Edge> layout = new FRLayout<Node, Edge>(g);
     95                Layout<Node, Edge> layout = new KKLayout<Node, Edge>(g);
    9296                layout.setSize(new Dimension(800,600)); // sets the initial size of the space
    9397                // The BasicVisualizationServer<V,E> is parameterized by the edge types
     
    96100                vv.setPreferredSize(new Dimension(800,600)); //Sets the viewing area size
    97101                vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Node>());
    98                 vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<Edge>());
     102                vv.getRenderContext().setEdgeLabelTransformer(
     103                                new Transformer<Edge, String>() {
     104                                        public String transform(Edge e) {
     105                                                return "";
     106                                        }
     107                                });
    99108                return vv;
    100109        }
     
    120129                return vv;
    121130        }
     131       
     132        static public JPanel panelContractedGraph(CoarserGraphElement cge, Collection<Node> cluster) {
     133                Set<Node> setNodes = new HashSet<Node>();
     134                setNodes.addAll(cluster);
     135                Set<Set<Node>> clusters = new HashSet<Set<Node>>();
     136                clusters.add(setNodes);
     137                return panelClusters(cge.getContracted(), clusters, new ContractedVertexTransformer(cge));
     138        }
     139       
     140        static public JPanel panelContractedGraph(CoarserGraphElement cge) {
     141                Layout<Node, Edge> layout = new KKLayout<Node, Edge>(cge.getContracted());
     142                layout.setSize(new Dimension(800,600)); // sets the initial size of the space
     143                // The BasicVisualizationServer<V,E> is parameterized by the edge types
     144                BasicVisualizationServer<Node,Edge> vv =
     145                new BasicVisualizationServer<Node,Edge>(layout);
     146                vv.setPreferredSize(new Dimension(800,600)); //Sets the viewing area size
     147                vv.getRenderContext().setVertexLabelTransformer(new ContractedVertexTransformer(cge));
     148                return vv;
     149        }
     150
    122151       
    123152        /**
Note: See TracChangeset for help on using the changeset viewer.