• title: JTreeの選択状態を解除する tags: [JTree, MouseListener] author: aterai pubdate: 2010-12-06T14:44:47+09:00 description: JTreeでノード以外の領域をマウスでクリックした場合、選択状態を解除します。

概要

JTreeでノード以外の領域をマウスでクリックした場合、選択状態を解除します。

サンプルコード

tree.addMouseListener(new MouseAdapter() {
  @Overridepublic void mousePressed(MouseEvent e) {
    JTree tree = (JTree)e.getSource();
    if(tree.getRowForLocation(e.getX(), e.getY())<0) {
      tree.clearSelection();
    }
  }
});
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、JTree#getRowForLocation(...)メソッドを使用して、JTreeのノード以外のポイントがクリックされたかどうかを判断しています。ノードの選択解除自体は、JTree#clearSelection()が使用できます。

参考リンク

コメント