- 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()). 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(Object lastPathComponent)単一要素を格納するTreePathを作成します。TreePath(Object[] path)配列からTreePathを作成します。protectedTreePath(Object[] path, int length)配列からTreePathを作成します。protectedTreePath(TreePath parent, Object lastPathComponent)指定された親および要素でTreePathを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 booleanequals(Object o)このTreePathを指定されたオブジェクトと比較します。ObjectgetLastPathComponent()このパスの最後の要素を返します。TreePathgetParentPath()親のTreePathを返します。Object[]getPath()このTreePathの要素の順序付き配列を返します。ObjectgetPathComponent(int index)指定されたインデックスにあるパス要素を返します。intgetPathCount()パス内の要素数を返します。inthashCode()このTreePathのハッシュ・コードを返します。booleanisDescendant(TreePath aTreePath)aTreePathがこのTreePathの下位オブジェクトである場合は、trueを返します。TreePathpathByAddingChild(Object child)このパスのすべての要素に加えてchildの要素を格納する新しいパスを返します。StringtoString()このオブジェクトのプロパティを表示および識別する文字列を返します。
-
-
-
コンストラクタの詳細
-
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(Object[])
-
TreePath
protected TreePath(TreePath parent, Object lastPathComponent)
指定された親および要素で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
public Object[] getPath()
このTreePathの要素の順序付き配列を返します。 先頭の要素はルートです。- 戻り値:
- この
TreePath内の要素の配列
-
getLastPathComponent
public Object getLastPathComponent()
このパスの最後の要素を返します。- 戻り値:
- パスの最後の要素
-
getPathCount
public int getPathCount()
パス内の要素数を返します。- 戻り値:
- パス内の要素数
-
getPathComponent
public Object getPathComponent(int index)
指定されたインデックスにあるパス要素を返します。- パラメータ:
index- 要求された要素のインデックス- 戻り値:
- 指定されたインデックスでの要素
- 例外:
IllegalArgumentException- インデックスがこのパスの範囲外にある場合
-
equals
public boolean equals(Object o)
このTreePathを指定されたオブジェクトと比較します。 これは、oが、(パスの各要素でequalsを使って指定される)要素とまったく同じ要素を持つTreePathである場合に、trueを返します。- オーバーライド:
equals、クラスObject- パラメータ:
o- 比較対象のオブジェクト- 戻り値:
- このオブジェクトがobj引数と同じである場合は
true、それ以外の場合はfalse。 - 関連項目:
Object.hashCode()、HashMap
-
hashCode
public int hashCode()
このTreePathのハッシュ・コードを返します。TreePathのハッシュ・コードは、パス内の最後の要素のハッシュ・コードです。- オーバーライド:
hashCode、クラスObject- 戻り値:
- オブジェクトのhashCode
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
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
public TreePath pathByAddingChild(Object child)
このパスのすべての要素に加えてchildの要素を格納する新しいパスを返します。childは新しく生成されたTreePathの最後の要素となります。- パラメータ:
child- 追加するパス要素- 戻り値:
- このパスのすべての要素と
childを含む新しいパス - 例外:
NullPointerException-childがnullである場合
-
getParentPath
public TreePath getParentPath()
親のTreePathを返します。nullの戻り値は、これがルート・ノードであることを示します。- 戻り値:
- 親のパス
-
-