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 以降、すべての JavaBeansTM 用の長期間の格納サポートが 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, 2013, Oracle and/or its affiliates. All rights reserved.