当我将鼠标悬停在 JUNG2 中的顶点上时,我正在寻找将自定义组件显示为弹出窗口的“正确”方式。
这个问题本质上是一样的
但是那个人似乎对一个简单的工具提示弹出窗口很满意,而我却不是。
注意:我目前正在使用PluggableGraphMouse的实现和一个MouseMotionListener
类似这样的插件(我有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
事件到顶点?(据我所知,这一切都是通过原始绘画发生的,并且没有我可以注册的组件)。