概要

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

スクリーンショット

TreeNodeCollapseVeto.png

サンプルコード

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を発生させることでマウスやキー入力によるノードの折り畳みを不可に設定
    • ノードの展開、編集、選択などは可能

参考リンク

コメント