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 - 親へのパス。ルートを示す場合は 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, 2013, Oracle and/or its affiliates. All rights reserved.