正如问题所述,我想为我的 JTree
设置一个鼠标监听器,以便当用户放置鼠标时我可以将光标更改为 HAND_CURSOR
通过节点。
我已经在 JTree 上注册了一个 MouseAdapter
来处理点击事件,但我似乎无法获得 MouseMoved
或 MouseEntered
/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/