Swing/TreeSelection のバックアップ(No.12)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/TreeSelection へ行く。
- 1 (2011-08-01 (月) 15:39:38)
- 2 (2012-12-19 (水) 01:54:14)
- 3 (2014-11-21 (金) 00:59:21)
- 4 (2014-12-04 (木) 14:12:04)
- 5 (2016-02-25 (木) 15:47:37)
- 6 (2017-07-18 (火) 16:07:41)
- 7 (2018-07-17 (火) 18:51:13)
- 8 (2020-07-16 (木) 16:14:21)
- 9 (2021-12-15 (水) 20:52:03)
- 10 (2025-01-03 (金) 08:57:02)
- 11 (2025-01-03 (金) 09:01:23)
- 12 (2025-01-03 (金) 09:02:38)
- 13 (2025-01-03 (金) 09:03:21)
- 14 (2025-01-03 (金) 09:04:02)
- category: swing
folder: TreeSelection
title: JTreeの選択モードを切り替える
tags: [JTree, TreeSelectionModel, TreePath]
author: aterai
pubdate: 2011-08-01T15:39:38+09:00
description: JTreeからSelectionModelを取得し、ノードの選択モードを切り替えます。
image:
Summary
JTree
からSelectionModel
を取得し、ノードの選択モードを切り替えます。
Screenshot

Advertisement
Source Code Examples
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
が連続している場合は複数選択が可能