クラスTreePath
java.lang.Object
javax.swing.tree.TreePath
- すべての実装されたインタフェース:
Serializable
public class TreePath extends Object implements Serializable
TreePathは、ツリー内のノードへのパスを一意に識別するオブジェクトの配列を表現します。 配列の要素は、ルートが配列の先頭の要素になるように順序付けされます。 たとえば、ファイル・システム上のファイルは、親ディレクトリの配列およびファイルの名前に基づいて一意に識別されます。 パス/tmp/foo/barは、new TreePath(new Object[] {"tmp", "foo", "bar"})としてTreePathで表される場合があります。
TreePathは、JTreeおよび関連するクラスで幅広く使用されます。 たとえば、JTreeは選択範囲をTreePathの配列として表します。 JTreeとともに使用されると、パスの要素はTreeModelから返されるオブジェクトになります。 JTreeがDefaultTreeModelとともに使用されると、パスの要素はTreeNodeになります。 次の例では、JTreeの選択範囲からユーザー・オブジェクトを抽出する方法を示します。
DefaultMutableTreeNode root = ...;
DefaultTreeModel model = new DefaultTreeModel(root);
JTree tree = new JTree(model);
...
TreePath selectedPath = tree.getSelectionPath();
DefaultMutableTreeNode selectedNode =
((DefaultMutableTreeNode)selectedPath.getLastPathComponent());
Object myObject= selectedNode.getUserObject();
一般に、サブクラスは getLastPathComponentおよびgetParentPathのみをオーバーライドする必要があります。 JTreeではさまざまな位置でTreePathが内部的に作成されるため、一般に、サブクラスTreePathやJTreeでの使用には役立ちません。
TreePathが直列化可能な場合、パスの要素が直列化可能でなければ、 NotSerializableExceptionがスローされます。
ツリー・パスの詳細および使用例は、「The Java Tutorial」の「How to Use Trees」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。
-
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectedTreePath()空のTreePathを作成します。単一要素を格納するTreePathを作成します。配列からTreePathを作成します。protected配列からTreePathを作成します。protected指定された親および要素でTreePathを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明booleanこのTreePathを指定されたオブジェクトと比較します。このパスの最後の要素を返します。親のTreePathを返します。Object[]getPath()このTreePathの要素の順序付き配列を返します。getPathComponent(int index) 指定されたインデックスにあるパス要素を返します。intパス内の要素数を返します。inthashCode()このTreePathのハッシュ・コードを返します。booleanisDescendant(TreePath aTreePath) aTreePathがこのTreePathの下位オブジェクトである場合は、trueを返します。pathByAddingChild(Object child) このパスのすべての要素に加えてchildの要素を格納する新しいパスを返します。toString()このオブジェクトのプロパティを表示および識別する文字列を返します。
-
コンストラクタの詳細
-
TreePath
@ConstructorProperties("path") public TreePath(Object[] path) 配列からTreePathを作成します。 配列は、ノードへのパスを一意に識別します。- パラメータ:
path- ノードへのパスを表すオブジェクトの配列- スロー:
IllegalArgumentException-pathがnull、空、またはnull値を含む場合
-
TreePath
public TreePath(Object lastPathComponent) 単一要素を格納するTreePathを作成します。 これは、ルートを識別するTreePathを構築する際に使用されます。- パラメータ:
lastPathComponent- ルート- スロー:
IllegalArgumentException-lastPathComponentがnullである場合- 関連項目:
-
TreePath
指定された親および要素でTreePathを作成します。- パラメータ:
parent- 親へのパス。ルートを示す場合はnulllastPathComponent- 最後のパス要素- スロー:
IllegalArgumentException-lastPathComponentがnullである場合
-
TreePath
protected TreePath(Object[] path, int length) 配列からTreePathを作成します。 返されるTreePathは、0からlength - 1までの配列の要素を表します。このコンストラクタは内部的に使用され、一般にサブクラスの外部では役立ちません。
- パラメータ:
path-TreePathの作成元の配列length-TreePathの作成元のpathの要素数を特定します。- スロー:
NullPointerException-pathがnullである場合ArrayIndexOutOfBoundsException-length - 1が配列の範囲外にある場合IllegalArgumentException-0からlength - 1までの要素のいずれかがnullである場合
-
TreePath
protected TreePath()空のTreePathを作成します。 これは、パスをさまざまな方法で表すサブクラス用に提供されます。 このコンストラクタを使用するサブクラスは、getLastPathComponentおよびgetParentPathをオーバーライドする必要があります。
-
-
メソッドの詳細
-
getPath
-
getLastPathComponent
-
getPathCount
public int getPathCount()パス内の要素数を返します。- 戻り値:
- パス内の要素数
-
getPathComponent
public Object getPathComponent(int index) 指定されたインデックスにあるパス要素を返します。- パラメータ:
index- 要求された要素のインデックス- 戻り値:
- 指定されたインデックスでの要素
- スロー:
IllegalArgumentException- インデックスがこのパスの範囲外にある場合
-
equals
-
hashCode
-
isDescendant
public boolean isDescendant(TreePath aTreePath) aTreePathがこのTreePathの下位オブジェクトである場合は、trueを返します。P1がP2のパスを構成するすべての要素を格納している場合は、TreePathP1はTreePathP2の下位オブジェクトになります。 たとえば、このオブジェクトにパス[a, b]があり、aTreePathにパス[a, b, c]がある場合は、aTreePathはこのオブジェクトの下位オブジェクトとなります。 ただし、aTreePathにパス[a]がある場合は、このオブジェクトの下位オブジェクトではありません。 この定義により、TreePathは常に自身の下位ノードと見なされます。 つまり、aTreePath.isDescendant(aTreePath)はtrueを返します。- パラメータ:
aTreePath- チェックするTreePath- 戻り値:
aTreePathがこのパスの下位オブジェクトである場合はtrue
-
pathByAddingChild
このパスのすべての要素に加えてchildの要素を格納する新しいパスを返します。childは新しく生成されたTreePathの最後の要素となります。- パラメータ:
child- 追加するパス要素- 戻り値:
- このパスのすべての要素と
childを含む新しいパス - スロー:
NullPointerException-childがnullである場合
-
getParentPath
-
toString
-