我正在寻找“正确”的方式来显示一个自定义组件作为弹出窗口时,我在JUNG2中的顶点鼠标。
这个问题本质上与
Jung2: How to implement displaying details of a node on mouse over of a Node?
但是那个人似乎满足于一个简单的工具提示弹出窗口,而我不是。
注意:我目前正在使用一个带有MouseMotionListener插件的PluggableGraphMouse实现,它的功能类似于(我将Note对象作为顶点):
@Override
public void mouseMoved(MouseEvent e) {
Note note = graphVisualiser.getPickSupport().getVertex(getGraphLayout(), e.getX(), e.getY());
if (note != null && note != lastMouseOverNote) {
lastMouseOverNote = note;
// my handling code here
}
}当我将鼠标移到顶点上时,它可以工作,当鼠标离开时,我也可以在上面展开以关闭弹出窗口,但我担心这种方法的效率非常低:它本质上是检查我是否在每次鼠标移动时将鼠标移到顶点上。
我更喜欢使用侦听器方法--有没有一种方法可以将mouseEntered/mouseExited事件注册到顶点?(据我所知,这一切都是通过原始绘制实现的,没有我可以注册的组件)。
发布于 2012-07-30 04:59:47
不能这样做,因为顶点是作为基元绘制的,并且没有用于鼠标移动的侦听器-只有选择/取消选择。
https://stackoverflow.com/questions/11421768
复制相似问题