Ignore:
Timestamp:
04/14/11 13:22:26 (13 years ago)
Author:
sherbold
Message:

+ added functionality to get a tree represenation of the Trie

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java

    r19 r23  
    11package de.ugoe.cs.eventbench.models; 
    22 
    3 import java.awt.Dimension; 
    4 import java.awt.Rectangle; 
    5 import java.awt.Shape; 
    63import java.util.LinkedHashSet; 
    74import java.util.LinkedList; 
     
    96import java.util.Set; 
    107 
    11 import javax.swing.JFrame; 
    12  
    13 import org.apache.commons.collections15.Transformer; 
    14  
    15  
    16 import edu.uci.ics.jung.algorithms.layout.Layout; 
    17 import edu.uci.ics.jung.algorithms.layout.TreeLayout; 
    188import edu.uci.ics.jung.graph.DelegateTree; 
    199import edu.uci.ics.jung.graph.Tree; 
    20 import edu.uci.ics.jung.visualization.BasicVisualizationServer; 
    21 import edu.uci.ics.jung.visualization.decorators.ToStringLabeller; 
    22 import edu.uci.ics.jung.visualization.renderers.Renderer.VertexLabel.Position; 
    2310 
    2411public class Trie<T> { 
     
    155142        } 
    156143         
    157         private Tree<TrieVertex, Edge> getGraph() { 
     144        protected Tree<TrieVertex, Edge> getGraph() { 
    158145                DelegateTree<TrieVertex, Edge> graph = new DelegateTree<TrieVertex, Edge>(); 
    159146                rootNode.getGraph(null, graph); 
    160147                return graph; 
    161         } 
    162          
    163         public void display() { 
    164                 Tree<TrieVertex, Edge> graph = this.getGraph(); 
    165                 Layout<TrieVertex, Edge> layout = new TreeLayout<TrieVertex, Edge>(graph, 60); 
    166                 // The BasicVisualizationServer<V,E> is parameterized by the edge types 
    167                 BasicVisualizationServer<TrieVertex,Edge> vv = 
    168                 new BasicVisualizationServer<TrieVertex,Edge>(layout); 
    169                 vv.setPreferredSize(new Dimension(1100,850)); //Sets the viewing area size 
    170                  
    171                  
    172                 final Rectangle rect = new Rectangle(40, 20); 
    173                          
    174                 Transformer<TrieVertex, Shape> vertexShapeTransformer = 
    175                         new Transformer<TrieVertex, Shape>() { 
    176                                 public Shape transform(TrieVertex s) { 
    177                                         return rect; 
    178                                 } 
    179                 }; 
    180                 vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR); 
    181                 vv.getRenderContext().setVertexShapeTransformer(vertexShapeTransformer); 
    182                 vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<TrieVertex>()); 
    183                  
    184                 JFrame frame = new JFrame("Trie"); 
    185                 frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    186                 frame.getContentPane().add(vv); 
    187                 frame.pack(); 
    188                 frame.setVisible(true); 
    189148        } 
    190149         
Note: See TracChangeset for help on using the changeset viewer.