• category: swing folder: TreeNodeCollapseVeto title: JTreeのノードを折り畳み不可に設定する tags: [JTree] author: aterai pubdate: 2014-11-03T00:09:16+09:00 description: JTreeのノードをマウスでクリックしても折り畳まれないように設定します。 image: https://lh3.googleusercontent.com/-lmIva1c-vxw/VFZHTSmTigI/AAAAAAAANo0/jeRoJW178as/s800/TreeNodeCollapseVeto.png

概要

JTreeのノードをマウスでクリックしても折り畳まれないように設定します。

サンプルコード

tree.addTreeWillExpandListener(new TreeWillExpandListener() {
  @Override public void treeWillExpand(TreeExpansionEvent e) throws ExpandVetoException {
    // throw new ExpandVetoException(e, "Tree expansion cancelled");
  }

  @Override public void treeWillCollapse(TreeExpansionEvent e) throws ExpandVetoException {
    throw new ExpandVetoException(e, "Tree collapse cancelled");
  }
});
View in GitHub: Java, Kotlin

解説

  • 左: デフォルト
  • 右: ノードの折り畳み不可
    • TreeWillExpandListener#treeWillCollapse()メソッドをオーバーライドしてExpandVetoExceptionを発生させることでマウスやキー入力によるノードの折り畳みを不可に設定
    • ノードの展開、編集、選択などは可能

参考リンク

コメント