• category: swing folder: TreeSelection title: JTreeの選択モードを切り替える tags: [JTree, TreePath] tags: [JTree, TreeSelectionModel, TreePath] author: aterai pubdate: 2011-08-01T15:39:38+09:00 description: JTreeからSelectionModelを取得し、ノードの選択モードを切り替えます。 image: https://lh6.googleusercontent.com/-bPltus2wD6w/TjZCCGnH40I/AAAAAAAABAE/tgmolSg-2Ys/s800/TreeSelection.png

概要

概要

JTreeからSelectionModelを取得し、ノードの選択モードを切り替えます。

サンプルコード

サンプルコード

#spandel
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
#spanend
#spanadd
JRadioButton r0 = new JRadioButton("DISCONTIGUOUS_TREE_SELECTION", true);
#spanend
#spanadd
r0.addItemListener(e -> {
#spanend
  if (e.getStateChange() == ItemEvent.SELECTED) {
    tree.getSelectionModel().setSelectionMode(
      TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
  }
#spanadd
});
#spanend
#spanadd

#spanend
#spanadd
JRadioButton r1 = new JRadioButton("SINGLE_TREE_SELECTION");
#spanend
#spanadd
r1.addItemListener(e -> {
#spanend
  if (e.getStateChange() == ItemEvent.SELECTED) {
    tree.getSelectionModel().setSelectionMode(
      TreeSelectionModel.SINGLE_TREE_SELECTION);
  }
#spanadd
});
#spanend
#spanadd

#spanend
#spanadd
JRadioButton r2 = new JRadioButton("CONTIGUOUS_TREE_SELECTION");
#spanend
#spanadd
r2.addItemListener(e -> {
#spanend
  if (e.getStateChange() == ItemEvent.SELECTED) {
    tree.getSelectionModel().setSelectionMode(
      TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
  }
#spanadd
});
#spanend
View in GitHub: Java, Kotlin

解説

解説

上記のサンプルでは、tree.getSelectionModel().setSelectionMode(...)メソッドを使用して、選択モードを設定しています。
  • TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION
    • Ctrl+ClickShift+Clickなどで、自由にTreePathを選択状態にすることができます。
    • Ctrl+ClickShift+Clickなどで自由にTreePathを選択可能
  • TreeSelectionModel.SINGLE_TREE_SELECTION
    • TreePathをひとつだけ選択状態にすることができます。
    • TreePathをひとつだけ選択可能
  • TreeSelectionModel.CONTIGUOUS_TREE_SELECTION
    • TreePathが連続している場合は、複数選択できます。
    • TreePathが連続している場合は複数選択が可能

コメント

参考リンク

コメント