JTreeの選択モードを切り替える
Total: 6583
, Today: 2
, Yesterday: 3
Posted by aterai at
Last-modified:
概要
JTree
からSelectionModel
を取得し、ノードの選択モードを切り替えます。
Screenshot
Advertisement
サンプルコード
JRadioButton r0 = new JRadioButton("DISCONTIGUOUS_TREE_SELECTION", true);
r0.addItemListener(e -> {
if (e.getStateChange() == ItemEvent.SELECTED) {
tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
}
});
JRadioButton r1 = new JRadioButton("SINGLE_TREE_SELECTION");
r1.addItemListener(e -> {
if (e.getStateChange() == ItemEvent.SELECTED) {
tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.SINGLE_TREE_SELECTION);
}
});
JRadioButton r2 = new JRadioButton("CONTIGUOUS_TREE_SELECTION");
r2.addItemListener(e -> {
if (e.getStateChange() == ItemEvent.SELECTED) {
tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
}
});
View in GitHub: Java, Kotlin解説
上記のサンプルでは、tree.getSelectionModel().setSelectionMode(...)
メソッドを使用して、選択モードを設定しています。
TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION
- Ctrl+Click、Shift+Clickなどで自由に
TreePath
を選択可能
- Ctrl+Click、Shift+Clickなどで自由に
TreeSelectionModel.SINGLE_TREE_SELECTION
TreePath
をひとつだけ選択可能
TreeSelectionModel.CONTIGUOUS_TREE_SELECTION
TreePath
が連続している場合は複数選択が可能