当用户从一堆中挑选一个时,如何让Jung2将节点移动到顶部?

时间:2014-07-01 13:16:16

标签: java jung jung2

我基于Jung2附带的示例构建了一个桌面应用程序,该示例在框架上显示图形。该应用程序允许用户使用EditingModalGraphMouse类移动选定的节点。

但是,当用户点击并拖动一个节点从一个有很多节点的区域中移动时,应用程序实际上会选择堆栈底部的节点(这是不可见的)而不是选择一个在顶部(用户可以看到)。

我正在尝试挖掘类以验证节点拾取实际完成的位置,但我有点困惑。我认为操作PickingGraphMousePlugin.mousePressed(...)方法中使用pickSupport返回的vv.getPickSupport()对象进行。

我的问题是:当用户从一堆节点中选择一个节点时,如何让我的应用程序将节点移动到顶部?负责管理该节点的类是什么?

我正在使用Jung版本2.0.1。

1 个答案:

答案 0 :(得分:1)

要回答我自己的问题,必须使用ShapePickSupport.Style.HIGHEST,如下面的代码所示(为了清晰起见, generics 参数已更改):

VisualizationViewer<V, E> vv = new VisualizationViewer<V, E>(visualizationModel, preferredSize);
...
ShapePickSupport pickSupport = (ShapePickSupport) vv.getPickSupport();
pickSupport.setStyle(ShapePickSupport.Style.HIGHEST);

此外,这里有与此事有关的有用资源: