TreePathクラスの定義とコンストラクタ

広告

JTreeクラスでは1つ1つのノードはルートノードを頂点とした階層構造になっていますのでルートノードから順にたどって行くことができます。そこであるノードがルートノードから辿った時の経路を管理しているのがTreePathクラスです。ここからはTreePathクラスを使ってJTreeを利用する方法を見ていきます。

DefaultMutableTreeNodeクラスの定義を確認します。クラス図は次のようになっています。

DefaultMutableTreeNodeクラスの定義を確認します。クラス図は次のようになっています。

java.lang.Object
  javax.swing.tree.TreePath

public class TreePath
extends Object
implements Serializable

TreePathクラスのコンストラクタ

TreePathクラスをを利用するにはコンストラクタを使ってTreePathクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。

コンストラクタ
protected TreePath()
主に、パスをさまざまな方法で表すサブクラス用に提供されます。
TreePath(Object singlePath)
要素を一つだけ持つ TreePath を構築します。
TreePath(Object[] path)
Object の配列からパスを構築し、ツリーのデータモデルによって返される、ツリーのルートから特定のノードまでのパスを一意に識別します。
protected TreePath(Object[] path, int length)
長さ length の識別パスコンポーネントがある新規 TreePath を構築します。
protected TreePath(TreePath parent, Object lastElement)
新規 TreePath を構築します。

コンストラクタは5つ用意されています。ツリーパスはルートからあるノードまでの経路を表すものですので、その経路の指定方法によって使い分けます。

では3番目のコンストラクタを確認してみます。

Object の配列からパスを構築し、ツリーのデータモデルによって返される、ツ
リーのルートから特定のノードまでのパスを一意に識別します。

モデルは、それがパスを表すのに必要とする任意の Object の配列を自由に返し
ます。DefaultTreeModel は TreeNode オブジェクトの配列を返します。パスの
最初の TreeNode はツリーのルートで、最後の TreeNode はパスで識別される
ノードです。

パラメータ:
  path - ノードへのパスを表す Object の配列

引数にルートからノードまでの経路を格納したObject型の配列を指定してツリーパスを作成します。

ただ、直接TreePathクラスのオブジェクトを作成して利用するのではなく、ツリーノードからツリーパスを取得して経路を調べたり表示されているかどうかを確認したりといった利用方法が主な使い道となります。具体的な使い方は次のページから確認していきます。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。