本文整理汇总了Java中edu.uci.ics.jung.graph.ObservableGraph.addGraphEventListener方法的典型用法代码示例。如果您正苦于以下问题:Java ObservableGraph.addGraphEventListener方法的具体用法?Java ObservableGraph.addGraphEventListener怎么用?Java ObservableGraph.addGraphEventListener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类edu.uci.ics.jung.graph.ObservableGraph
的用法示例。
在下文中一共展示了ObservableGraph.addGraphEventListener方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import edu.uci.ics.jung.graph.ObservableGraph; //导入方法依赖的package包/类
@Override
public void init() {
//create a graph
Graph<Number,Number> ig = Graphs.<Number,Number>synchronizedDirectedGraph(new DirectedSparseMultigraph<Number,Number>());
ObservableGraph<Number,Number> og = new ObservableGraph<Number,Number>(ig);
og.addGraphEventListener(new GraphEventListener<Number,Number>() {
public void handleGraphEvent(GraphEvent<Number, Number> evt) {
System.err.println("got "+evt);
}});
this.g = og;
//create a graphdraw
layout = new FRLayout2<Number,Number>(g);
// ((FRLayout)layout).setMaxIterations(200);
vv = new VisualizationViewer<Number,Number>(layout, new Dimension(600,600));
JRootPane rp = this.getRootPane();
rp.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
getContentPane().setLayout(new BorderLayout());
getContentPane().setBackground(java.awt.Color.lightGray);
getContentPane().setFont(new Font("Serif", Font.PLAIN, 12));
vv.getModel().getRelaxer().setSleepTime(500);
vv.setGraphMouse(new DefaultModalGraphMouse<Number,Number>());
vv.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.CNTR);
vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Number>());
vv.setForeground(Color.white);
getContentPane().add(vv);
switchLayout = new JButton("Switch to SpringLayout");
switchLayout.addActionListener(new ActionListener() {
@SuppressWarnings("unchecked")
public void actionPerformed(ActionEvent ae) {
Dimension d = new Dimension(600,600);
if (switchLayout.getText().indexOf("Spring") > 0) {
switchLayout.setText("Switch to FRLayout");
layout = new SpringLayout<Number,Number>(g,
new ConstantTransformer(EDGE_LENGTH));
layout.setSize(d);
vv.getModel().setGraphLayout(layout, d);
} else {
switchLayout.setText("Switch to SpringLayout");
layout = new FRLayout<Number,Number>(g, d);
vv.getModel().setGraphLayout(layout, d);
}
}
});
getContentPane().add(switchLayout, BorderLayout.SOUTH);
timer = new Timer();
}
示例2: getGraph
import edu.uci.ics.jung.graph.ObservableGraph; //导入方法依赖的package包/类
/**
* @return the graph for this demo
*/
Graph<String, Number> getGraph(String[] word_set1, String[] word_set2) {
//Graph<String, Number> g = new SparseGraph<String, Number>();
//create a graph
Graph<String,Number> ig = Graphs.<String,Number>synchronizedGraph(new SparseGraph<String,Number>());
ObservableGraph<String,Number> og = new ObservableGraph<String,Number>(ig);
og.addGraphEventListener(new GraphEventListener<String,Number>() {
public void handleGraphEvent(GraphEvent<String, Number> evt) {
System.err.println("got "+evt);
}});
Graph<String, Number> g = og;
// extract all vertices which belong to shortest paths in graph 'g_all_relations'
//String word1 = "WAN"; //String word2 = "network"; //WAN - LAN - network
for(String word1 : word_set1) {
g.addVertex(word1);
for(String word2 : word_set2) {
g.addVertex(word2);
String[] word_path = null;
if(null != TPage.get(ruwikt_parsed_conn, word1) &&
null != TPage.get(ruwikt_parsed_conn, word2))
{
System.out.println("Starting search path ['" + word1 + "', '" + word2 + "']");
word_path = PathSearcher.getShortestPath(g_all_relations, alg, word1, word2);
if(word_path.length > 0) {
int len = word_path.length - 1;
System.out.println("There is a path from '" + word1 + "' to '" + word2 + "', length = " + len);
System.out.println("" + 0 + ": " + word_path[0]);
g.addVertex(word_path[0]);
for(int i=1; i<word_path.length; i++) {
Relation r = TRelation.getRelationType(ruwikt_parsed_conn, word_path[i-1], word_path[i]);
String rel_name = null == r ? "" : r.toString();
System.out.println("" + i + ".: " + rel_name + "["+ word_path[i-1] + ", "+ word_path[i] + "]");
g.addVertex(word_path[i]);
g.addEdge(g.getEdgeCount(), word_path[i-1], word_path[i]);
}
}
}
if(null == word_path || 0 == word_path.length)
System.out.println("There is no path from '" + word1 + "' to '" + word2 + "'.");
}
}
return g;
}
示例3: init
import edu.uci.ics.jung.graph.ObservableGraph; //导入方法依赖的package包/类
@Override
public void init() {
//create a graph
Graph<Number,Number> ig = Graphs.<Number,Number>synchronizedDirectedGraph(new DirectedSparseMultigraph<Number,Number>());
ObservableGraph<Number,Number> og = new ObservableGraph<Number,Number>(ig);
og.addGraphEventListener(new GraphEventListener<Number,Number>() {
public void handleGraphEvent(GraphEvent<Number, Number> evt) {
System.err.println("got "+evt);
}});
this.g = og;
//create a graphdraw
layout = new FRLayout2<Number,Number>(g);
// ((FRLayout)layout).setMaxIterations(200);
vv = new VisualizationViewer<Number,Number>(layout, new Dimension(600,600));
JRootPane rp = this.getRootPane();
rp.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
getContentPane().setLayout(new BorderLayout());
getContentPane().setBackground(java.awt.Color.lightGray);
getContentPane().setFont(new Font("Serif", Font.PLAIN, 12));
vv.getModel().getRelaxer().setSleepTime(500);
vv.setGraphMouse(new DefaultModalGraphMouse<Number,Number>());
vv.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.CNTR);
vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Number>());
vv.setForeground(Color.white);
getContentPane().add(vv);
switchLayout = new JButton("Switch to SpringLayout");
switchLayout.addActionListener(new ActionListener() {
@SuppressWarnings("unchecked")
public void actionPerformed(ActionEvent ae) {
Dimension d = new Dimension(600,600);
if (switchLayout.getText().indexOf("Spring") > 0) {
switchLayout.setText("Switch to FRLayout");
layout = new SpringLayout<Number,Number>(g,
new ConstantTransformer(EDGE_LENGTH));
layout.setSize(d);
vv.getModel().setGraphLayout(layout, d);
} else {
switchLayout.setText("Switch to SpringLayout");
layout = new FRLayout<Number,Number>(g, d);
vv.getModel().setGraphLayout(layout, d);
}
}
});
getContentPane().add(switchLayout, BorderLayout.SOUTH);
timer = new Timer();
}