커서가 전체 구성 요소가 아니라 나열된 요소에만있는 경우 JTree
구성 요소 위로 마우스를 이동하면 커서가 손 모양으로 변경됩니다.JTree에 나열된 요소에서 마우스 이동시 커서를 변경하고 싶습니다.
아래 코드는 Jlist
구성 요소입니다. JTree
과 동일하지만 JTree
에는getCellBound()
이 없습니다. 다른 방법이 있습니까? 당신이 뭔가를 찾고 있습니다
final JList list = new JList(new String[] {"a","b","c"});
list.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
final int x = e.getX();
final int y = e.getY();
// only display a hand if the cursor is over the items
final Rectangle cellBounds = list.getCellBounds(0, list.getModel().getSize() - 1);
if (cellBounds != null && cellBounds.contains(x, y)) {
list.setCursor(new Cursor(Cursor.HAND_CURSOR));
} else {
list.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
}
@Override
public void mouseDragged(MouseEvent e) {
}
});
빨리,이 [SSCCE] (HTTP를 게시 : // sscce.org/). –
나는 문제가 무엇인지 모르겠다. 그것은 나를 위해 일하는 것 같다. 그리고 당신의 제목은 "JTree"라고하지만, 당신의 코드는 "JList"라고합니다 : 어느 것이지? –
@Guillaume Polet : 코드를 잊어 버리면 커서가 JTree 구성 요소의 일부에 커서가 있지 않을 때 커서가 표시된 요소 위로 이동하는 경우에만 Jtree 구성 요소에 손 모양 커서를 놓기 만하면됩니다. JTree –