java - 如何向 JTree 添加鼠标监听器,以便我可以在将鼠标悬停在节点上时更改光标(变为手形光标)?

标签 java mouse jtree

正如问题所述,我想为我的 JTree 设置一个鼠标监听器,以便当用户放置鼠标时我可以将光标更改为 HAND_CURSOR通过节点。

我已经在 J​​Tree 上注册了一个 MouseAdapter 来处理点击事件,但我似乎无法获得 MouseMovedMouseEntered/MouseExited 来完成我想要做的事情。

有什么建议吗?

最佳答案

您需要添加一个MouseMotionListener/Adapter:

tree.addMouseMotionListener(new MouseMotionAdapter() {
    @Override
    public void mouseMoved(MouseEvent e) {
        int x = (int) e.getPoint().getX();
        int y = (int) e.getPoint().getY();
        TreePath path = tree.getPathForLocation(x, y);
        if (path == null) {
            tree.setCursor(Cursor.getDefaultCursor());
        } else {
            tree.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        }
    }
});

关于java - 如何向 JTree 添加鼠标监听器,以便我可以在将鼠标悬停在节点上时更改光标(变为手形光标)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2463044/

相关文章:

java - 初始化父类(super class)成员的正确方法是什么?

apache-flex - DataGrid itemEditor 中的下拉列表中的滚动条不起作用

c++ - 通过鼠标调整大小

python - 如何使用PyAutoGUI检测RGB值

java - jtree 程序化多选

java - 如何以所有可能的组合将整数数组分成 N 个部分?

java - 使用 Spring 正确测试 JPA DAO

java - 连接到外部数据库 - Android 应用程序

java - 更改Jtree根节点的图标

swing - 如何修改 TreeCellEditor 的默认编辑行为 (Java)