Swing/TreeSelection のバックアップの現在との差分(No.1)
TITLE:JTreeの選択モードを切り替える
Posted by aterai at 2011-08-01
JTreeの選択モードを切り替える
JTreeの選択モードを切り替えます。- category: swing folder: TreeSelection title: JTreeの選択モードを切り替える tags: [JTree, TreeSelectionModel, TreePath] author: aterai pubdate: 2011-08-01T15:39:38+09:00 description: JTreeからSelectionModelを取得し、ノードの選択モードを切り替えます。 image:
概要
JTree
からSelectionModel
を取得し、ノードの選択モードを切り替えます。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
サンプルコード
#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
#spandel
**サンプルコード [#cd4092ab]
#spanend
#spandel
#code{{
#spanend
#spandel
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
#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-クリック、Shift-クリックなどで、自由にパスを選択状態にすることができます。
- TreeSelectionModel.SINGLE_TREE_SELECTION
- パスをひとつだけ選択状態にすることができます。
- TreeSelectionModel.CONTIGUOUS_TREE_SELECTION
- パスが連続している場合は、複数選択できます。
解説
上記のサンプルでは、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
が連続している場合は複数選択が可能
-