当我将鼠标悬停在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
}
}
当我将鼠标移到顶点上时,它可以工作,当鼠标消失时我也可以扩展上面的内容以关闭弹出窗口,但是我担心这种方法非常低效:它本质上是检查是否我每次鼠标移动时都会将鼠标悬停在顶点上。
我宁愿采用Listener方法 - 有没有办法将mouseEntered
/ mouseExited
事件注册到顶点? (据我所知,这是通过原始绘画发生的,并且没有我可以注册的组件。)
答案 0 :(得分:0)
无法完成,因为顶点被绘制为基元并且没有鼠标移动的侦听器 - 只有选择/取消选择。