• 追加された行はこの色です。
  • 削除された行はこの色です。
---
category: swing
folder: ExpandsSelectedPaths
title: JTreeの選択されたノードを展開する
tags: [JTree, TreePath]
author: aterai
pubdate: 2012-09-24T13:08:25+09:00
description: JTreeの選択されたノードまでのパスをすべて展開して可視状態にします。
image: https://lh6.googleusercontent.com/-sOsnOftT8xE/UF_b7dSxzQI/AAAAAAAABS0/i_xYkTfxbZg/s800/ExpandsSelectedPaths.png
---
* 概要 [#summary]
`JTree`の選択されたノードまでのパスをすべて展開して可視状態にします。

#download(https://lh6.googleusercontent.com/-sOsnOftT8xE/UF_b7dSxzQI/AAAAAAAABS0/i_xYkTfxbZg/s800/ExpandsSelectedPaths.png)

* サンプルコード [#sourcecode]
#code(link){{
tree.setExpandsSelectedPaths(true);
}}

* 解説 [#explanation]
上記のサンプルでは、マウスによるノード選択ではなく、`JTree#addSelectionPath(TreePath)`などによるノード選択が行われた場合、そのノードまでのパスを展開するかどうかを、`JTree#setExpandsSelectedPaths(...)`メソッドを使って切り替えるテストを行っています。

- `JTree#setExpandsSelectedPaths(false);`
-- ノード選択を変更しても親パスが閉じている場合は展開しない
- `JTree#setExpandsSelectedPaths(true);`
-- デフォルト(`JDK 1.3`から)
-- 選択されたノードまでのパスをすべて展開して可視化(スクロールはしない)

* 参考リンク [#reference]
//- http://docs.oracle.com/javase/1.3/docs/guide/swing/JTreeChanges.html
//- http://docs.oracle.com/javase/jp/1.3/guide/swing/JTreeChanges.html
//-- メモ: 日本語版には`docs`が付かない
- [http://docs.oracle.com/javase/jp/1.3/guide/swing/JTreeChanges.html JTree の expandsSelectedPaths 新規プロパティおよび removeDescendantSelectedPaths 新規メソッド]
- [http://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JTree.html#setExpandsSelectedPaths-boolean- JTree#setExpandsSelectedPaths(boolean) (Java Platform SE 8)]
- [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JTree.html#setExpandsSelectedPaths-boolean- JTree#setExpandsSelectedPaths(boolean) (Java Platform SE 8)]
- [[JTreeのノードを検索する>Swing/SearchBox]]

* コメント [#comment]
#comment
#comment