本文整理汇总了Java中edu.uci.ics.jung.graph.ObservableGraph类的典型用法代码示例。如果您正苦于以下问题:Java ObservableGraph类的具体用法?Java ObservableGraph怎么用?Java ObservableGraph使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ObservableGraph类属于edu.uci.ics.jung.graph包,在下文中一共展示了ObservableGraph类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: ConstraintNetwork
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
/**
* Instantiates a new {@link ConstraintNetwork}. Note that all implementing classes must call this constructor
* (i.e., specifying a {@link ConstraintSolver} is mandatory).
* @param sol The {@link ConstraintSolver} which maintains this {@link ConstraintNetwork}.
*/
public ConstraintNetwork(ConstraintSolver sol) {
solver = sol;
g = new DirectedSparseMultigraph<Variable,Constraint>();
graph = new ObservableGraph<Variable,Constraint>(g);
this.weight=-1;
this.annotation="NONE";
this.marking=new ConstraintNetworkMarking();
}
示例2: DependencyGraphScene
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
DependencyGraphScene(ObservableGraph<ArtifactGraphNode, ArtifactGraphEdge> graph, DelegateForest<ArtifactGraphNode, ArtifactGraphEdge> forest, MavenProject prj, Project nbProj, DependencyGraphTopComponent tc,
POMModel model) {
super(graph, new FRLayout<>(forest));
layoutModel = new DefaultComboBoxModel<>();
layoutModel.addElement(layout());
// These rarely work but look nice when they do
// layoutModel.addElement(new BalloonLayout<>(forest));
// layoutModel.addElement(new RadialTreeLayout<>(forest));
layoutModel.addElement(new CircleLayout<>(graph));
layoutModel.addElement(new FRLayout<>(graph));
layoutModel.addElement(new FRLayout2<>(graph));
layoutModel.addElement(new KKLayout<>(graph));
TreeLayout<ArtifactGraphNode, ArtifactGraphEdge> treeLayout = new TreeLayout<>(forest, 200, 90);
layoutModel.addElement(treeLayout);
layoutModel.addElement(new ISOMLayout<>(graph));
layoutModel.addElement(new SpringLayout<>(graph));
layoutModel.addElement(new SpringLayout2<>(graph));
layoutModel.setSelectedItem(layout());
moveAction = ActionFactory.createMoveAction(null, new MP());
this.forest = forest;
project = prj;
nbProject = nbProj;
this.tc = tc;
this.model = model;
mainLayer = new LayerWidget(this);
addChild(mainLayer);
connectionLayer = new LayerWidget(this);
addChild(connectionLayer);
//getActions().addAction(this.createObjectHoverAction());
getActions().addAction(hoverAction);
getActions().addAction(ActionFactory.createSelectAction(allActionsP));
getActions().addAction(zoomAction);
getActions().addAction(panAction);
getActions().addAction(editAction);
getActions().addAction(popupMenuAction);
getActions().addAction(new ScrollWheelZoomAction());
}
示例3: BaseJungScene
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
public BaseJungScene(ObservableGraph<N, E> graph, Layout layout) throws IOException {
super(graph, layout);
colors = createColors();
// Selection layer is behind everything
addChild(selectionLayer);
// Rings also drawn behind everything but the selection
addChild(decorationLayer);
// Connections are drawn below the node widgets
addChild(connectionLayer);
// The layer where node widgets live
addChild(mainLayer);
// Use the built in rectangular selection action
getActions().addAction(ActionFactory.createRectangularSelectAction(this,
selectionLayer));
// Set some layouts
connectionLayer.setLayout(LayoutFactory.createAbsoluteLayout());
mainLayer.setLayout(LayoutFactory.createAbsoluteLayout());
// Zoom on scroll by default
getActions().addAction(createScrollWheelAction());
// Add the listener which will notice when we hover and update
// the node color
addObjectSceneListener(hover, ObjectSceneEventType.OBJECT_HOVER_CHANGED,
ObjectSceneEventType.OBJECT_SELECTION_CHANGED);
}
示例4: onLayerViewerAdd
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
protected void onLayerViewerAdd(LayerViewer<?, ?> vv) {
vv.addChangeListener(listener);
((ObservableGraph) vv.getLayer()).addGraphEventListener(listener);
}
示例5: onLayerViewerRemove
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
protected void onLayerViewerRemove(LayerViewer<?, ?> vv) {
vv.removeChangeListener(listener);
((ObservableGraph) vv.getLayer()).removeGraphEventListener(listener);
}
示例6: 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();
}
示例7: 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;
}
示例8: onLayerViewerAdd
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
protected void onLayerViewerAdd(LayerViewer<?, ?> vv) {
vv.addChangeListener(listener);
((ObservableGraph) vv.getLayer()).addGraphEventListener(listener);
}
示例9: onLayerViewerRemove
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
protected void onLayerViewerRemove(LayerViewer<?, ?> vv) {
vv.removeChangeListener(listener);
((ObservableGraph) vv.getLayer()).removeGraphEventListener(listener);
}
示例10: SceneImpl
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
public SceneImpl(ObservableGraph<String, String> graph, Layout layout) throws IOException {
super(graph, layout);
addChild(edgeTooltipLayer);
edgeTooltipLayer.addChild(label);
addObjectSceneListener(new HoverListener(), ObjectSceneEventType.OBJECT_HOVER_CHANGED);
}
示例11: GraphAndForest
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
public GraphAndForest(ObservableGraph<String, String> graph, Forest<String, String> forest) {
this.graph = graph;
this.forest = forest;
}
示例12: 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();
}
示例13: getGraph
import edu.uci.ics.jung.graph.ObservableGraph; //导入依赖的package包/类
public ObservableGraph<Variable,Constraint> getGraph() { return graph; }