正如问题所述,我想设置一个鼠标监听器,JTree以便HAND_CURSOR当用户将鼠标放在节点上时我可以将光标更改为a .
我已经有一个MouseAdapter登记在我的JTree处理单击事件,但我似乎无法得到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));
}
}
});
Run Code Online (Sandbox Code Playgroud)