3
Jung 2の頂点選択の変更をどのように聞くことができますか?私はPropertyChangeListenerとChangeListenerを試してきました。Jung 2の頂点選択の変更を聞くには?
Jung 2の頂点選択の変更をどのように聞くことができますか?私はPropertyChangeListenerとChangeListenerを試してきました。Jung 2の頂点選択の変更を聞くには?
これがうまくちょうどあなたのVisualizationViewerのPickedVertexStateにリスナーを追加http://kahdev.wordpress.com/2010/02/20/detecting-selection-of-vertices-in-jung/
に説明されています。
Graph<Integer, String> basis = new SparseMultigraph<Integer, String>();
final Layout<Integer, String> layout = new CircleLayout<Integer, String>(
basis);
layout.setSize(new Dimension(300, 300));
VisualizationViewer<Integer, String> vv = new VisualizationViewer<Integer, String>(
layout);
final PickedState<Integer> pickedState = vv.getPickedVertexState();
// Attach the listener that will print when the vertices selection changes.
pickedState.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
Object subject = e.getItem();
// The graph uses Integers for vertices.
if (subject instanceof Integer) {
Integer vertex = (Integer) subject;
if (pickedState.isPicked(vertex)) {
System.out.println("Vertex " + vertex
+ " is now selected");
} else {
System.out.println("Vertex " + vertex
+ " no longer selected");
}
}
}
});
JUNG2は、明示的なJavaのリスナーモデルを使用していないようです。個々の頂点/エッジプロパティを変更するために 'Transformers'を使用し、特殊なマウスイベントを聞くために' Plugins'を使用します。 – ecle