Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 鼠标插入一个JUNG2顶点_Java_Mouse_Jung - Fatal编程技术网

Java 鼠标插入一个JUNG2顶点

Java 鼠标插入一个JUNG2顶点,java,mouse,jung,Java,Mouse,Jung,我正在寻找一种“正确”的方式,当我将鼠标移到JUNG2中的顶点上时,将自定义组件显示为弹出窗口 这个问题本质上与 但那个人似乎满足于一个简单的工具提示弹出窗口,而我不是 注意:我目前使用的是一个带有MouseMotionListener插件的实现,该插件执行类似的操作(我将NOTE对象作为顶点): 当我把鼠标移到一个顶点上时,它就工作了,我也可以在上面展开,在鼠标离开时关闭弹出窗口,但我担心这种方法效率极低:它本质上是检查我是否在每次鼠标移动时都将鼠标移到一个顶点上 我宁愿采用侦听器方法—是否

我正在寻找一种“正确”的方式,当我将鼠标移到JUNG2中的顶点上时,将自定义组件显示为弹出窗口

这个问题本质上与

但那个人似乎满足于一个简单的工具提示弹出窗口,而我不是

注意:我目前使用的是一个带有
MouseMotionListener
插件的实现,该插件执行类似的操作(我将
NOTE
对象作为顶点):

当我把鼠标移到一个顶点上时,它就工作了,我也可以在上面展开,在鼠标离开时关闭弹出窗口,但我担心这种方法效率极低:它本质上是检查我是否在每次鼠标移动时都将鼠标移到一个顶点上


我宁愿采用侦听器方法—是否有方法将
mouseEntered
/
mouseExited
事件注册到顶点?(据我所知,这一切都是通过原始绘制完成的,没有我可以注册的组件)。

这无法完成,因为顶点被绘制为基本体,没有鼠标移动的侦听器-只有选择/取消选择

    @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
        }
    }