加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Jung 2中听取顶点选择的变化?

发布时间:2020-12-15 08:47:02 所属栏目:Java 来源:网络整理
导读:如何在Jung 2中听取顶点选择的变化?我一直在尝试使用PropertyChangeListener和ChangeListener. 解决方法 这在 http://kahdev.wordpress.com/2010/02/20/detecting-selection-of-vertices-in-jung/很好地解释 只需在VisualizationViewer的PickedVertexState
如何在Jung 2中听取顶点选择的变化?我一直在尝试使用PropertyChangeListener和ChangeListener.

解决方法

这在 http://kahdev.wordpress.com/2010/02/20/detecting-selection-of-vertices-in-jung/很好地解释

只需在VisualizationViewer的PickedVertexState上添加一个监听器:

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");
            }
        }
    }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读