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(tm)用の長期間の格納サポートが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
- 親へのパス。ルートを示す場合はnull
lastPathComponent
- 最後のパス要素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
、クラス: Object
o
- 比較対象のオブジェクトtrue
、それ以外の場合はfalse
。Object.hashCode()
, HashMap
public int hashCode()
TreePath
のハッシュ・コードを返します。TreePath
のハッシュ・コードは、パス内の最後の要素のハッシュ・コードです。hashCode
、クラス: Object
Object.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
- チェックするTreePath
aTreePath
がこのパスの下位オブジェクトである場合はtruepublic TreePath pathByAddingChild(Object child)
child
の要素を格納する新しいパスを返します。child
は新しく生成されたTreePath
の最後の要素となります。child
- 追加するパス要素NullPointerException
- child
がnull
である場合public TreePath getParentPath()
TreePath
を返します。null
の戻り値は、これがルート・ノードであることを示します。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.