Java 我想在鼠标悬停在项目上时执行一些操作。我应该使用什么侦听器?

Java 我想在鼠标悬停在项目上时执行一些操作。我应该使用什么侦听器?,java,swing,listeners,Java,Swing,Listeners,我想在鼠标悬停在项目上时执行一些操作。我应该使用什么侦听器?使用。它的方法mouseEntered()和mouseExited()将对您有所帮助。如果“某个操作”恰好是“显示消息”,请查看。另一种方法是 menuItem1.getModel().addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { B

我想在鼠标悬停在项目上时执行一些操作。我应该使用什么侦听器?

使用。它的方法mouseEntered()和mouseExited()将对您有所帮助。

如果“某个操作”恰好是“显示消息”,请查看。

另一种方法是

    menuItem1.getModel().addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent e) {
            ButtonModel model = (ButtonModel) e.getSource();
            if (model.isRollover()) {
                // some stuff
            }// may be another states from ButtonModel
        }
    });

.. yoooouuu建议一个专注的听众?我们都知道,它的用处仅限于非常罕见的情况:-)@kleopatra:是的,显然根本不是菜单项。快速测试表明,它们不会像我想象的那样,在鼠标悬停或键盘“聚焦”时开火。适合屠宰的回答:Psounds很酷-只是好奇你试过了吗?一般来说,如果可以的话,选择更高级别的状态是一件好事。我在实践中看到的唯一问题是,很难准确地获得滚动中的更改,因为changeEvent是一个复合通知(或过于细粒度,取决于透视图),如果我想在使用键盘而不是鼠标在菜单中导航时激活侦听器,该怎么办?@Nika-是的,当您尝试它时,您发现了什么?关闭圆圈:第三次迭代-如果我想在使用键盘而不是鼠标在菜单中导航时激活侦听器,该怎么办s