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()).
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を参照してください。
| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
TreePath() |
空の
TreePathを作成します。 |
|
TreePath(Object lastPathComponent) |
単一要素を格納する
TreePathを作成します。 |
|
TreePath(Object[] path) |
配列から
TreePathを作成します。 |
protected |
TreePath(Object[] path, int length) |
配列から
TreePathを作成します。 |
protected |
TreePath(TreePath parent, Object lastPathComponent) |
指定された親および要素で
TreePathを作成します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
boolean |
equals(Object o) |
この
TreePathを指定されたオブジェクトと比較します。 |
Object |
getLastPathComponent() |
このパスの最後の要素を返します。
|
TreePath |
getParentPath() |
親の
TreePathを返します。 |
Object[] |
getPath() |
この
TreePathの要素の順序付き配列を返します。 |
Object |
getPathComponent(int index) |
指定されたインデックスにあるパス要素を返します。
|
int |
getPathCount() |
パス内の要素数を返します。
|
int |
hashCode() |
この
TreePathのハッシュ・コードを返します。 |
boolean |
isDescendant(TreePath aTreePath) |
aTreePathがこのTreePathの下位オブジェクトである場合は、trueを返します。 |
TreePath |
pathByAddingChild(Object child) |
このパスのすべての要素に加えて
childの要素を格納する新しいパスを返します。 |
String |
toString() |
このオブジェクトのプロパティを表示および識別する文字列を返します。
|
@ConstructorProperties(value="path") public TreePath(Object[] path)
TreePathを作成します。 配列は、ノードへのパスを一意に識別します。 path - ノードへのパスを表すオブジェクトの配列IllegalArgumentException - pathがnull、空、またはnull値を含む場合public TreePath(Object lastPathComponent)
TreePathを作成します。 これは、ルートを識別するTreePathを構築する際に使用されます。 lastPathComponent - ルートIllegalArgumentException - lastPathComponentがnullである場合TreePath(Object[])protected TreePath(TreePath parent, Object lastPathComponent)
TreePathを作成します。parent - 親へのパス。ルートを示す場合はnulllastPathComponent - 最後のパス要素IllegalArgumentException - lastPathComponentがnullである場合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である場合protected TreePath()
TreePathを作成します。 これは、パスをさまざまな方法で表すサブクラス用に提供されます。 このコンストラクタを使用するサブクラスは、getLastPathComponentおよびgetParentPathをオーバーライドする必要があります。 public Object[] getPath()
TreePathの要素の順序付き配列を返します。 先頭の要素はルートです。 TreePath内の要素の配列public Object getLastPathComponent()
public int getPathCount()
public Object getPathComponent(int index)
index - 要求された要素のインデックスIllegalArgumentException - インデックスがこのパスの範囲外にある場合public boolean equals(Object o)
TreePathを指定されたオブジェクトと比較します。 これは、oが、(パスの各要素でequalsを使って指定される)要素とまったく同じ要素を持つTreePathである場合に、trueを返します。 equals、クラスObjecto - 比較対象のオブジェクトtrue、それ以外の場合はfalse。Object.hashCode(), HashMappublic int hashCode()
TreePathのハッシュ・コードを返します。 TreePathのハッシュ・コードは、パス内の最後の要素のハッシュ・コードです。 hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean isDescendant(TreePath aTreePath)
aTreePathがこのTreePathの下位オブジェクトである場合は、trueを返します。 P1がP2のパスを構成するすべての要素を格納している場合は、TreePath P1はTreePath P2の下位オブジェクトになります。 たとえば、このオブジェクトにパス[a, b]があり、aTreePathにパス[a, b, c]がある場合は、aTreePathはこのオブジェクトの下位オブジェクトとなります。 ただし、aTreePathにパス[a]がある場合は、このオブジェクトの下位オブジェクトではありません。 この定義により、TreePathは常に自身の下位ノードと見なされます。 つまり、aTreePath.isDescendant(aTreePath)はtrueを返します。 aTreePath - チェックするTreePathaTreePathがこのパスの下位オブジェクトである場合はtruepublic TreePath pathByAddingChild(Object child)
childの要素を格納する新しいパスを返します。childは新しく生成されたTreePathの最後の要素となります。child - 追加するパス要素NullPointerException - childがnullである場合public TreePath getParentPath()
TreePathを返します。 nullの戻り値は、これがルート・ノードであることを示します。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。