- すべての実装されたインタフェース:
- Serializable,- Cloneable,- MutableTreeNode,- TreeNode
- 直系の既知のサブクラス:
- JTree.DynamicUtilTreeNode
public class DefaultMutableTreeNode extends Object implements Cloneable, MutableTreeNode, Serializable
DefaultMutableTreeNodeは、ツリー・データ構造の汎用ノードです。 デフォルトの可変ツリー・ノードの使用例は、「The Java Tutorial」の「How to Use Trees」を参照してください。 
 
 ツリー・ノードは最大1つの親と、ゼロ個以上の子を持ちます。 DefaultMutableTreeNodeは、ノードの親と子の検査と変更を行うための操作と、そのノードによって構成されるツリーを検査する操作を提供します。 ノードのツリーは、そのノードを起点とする親と子へのすべての可能なリンクをたどって到達できる、すべてのノードから構成されます。 親を持たないノードはそのツリーのルートで、子を持たないノードは葉です。 ツリーは多数のサブツリーを持つことができ、各ノードはそのサブツリーのルートになります。 
 
 このクラスは、ツリーまたはサブツリーをさまざまな順序で効率的にたどる方法や、2つのノード間のパスをたどるための方法を列挙します。 DefaultMutableTreeNodeには、ユーザー・オブジェクトへの参照、つまりユーザーが独自に定義するオブジェクトへの参照も格納できます。 DefaultMutableTreeNodeにtoString()を指定してその文字列表現を要求すると、そのユーザー・オブジェクトの文字列表現を返します。 
 
このクラスはスレッド・セーフではありません。複数のスレッドでDefaultMutableTreeNode (つまり、TreeNodeのツリー)を使用する場合、ユーザー自身が同期を行う必要があります。 慣例では、ツリーのルート・ノードで同期させます。
DefaultMutableTreeNodeはMutableTreeNodeインタフェースを実装し、MutableTreeNodeのあらゆる実装にメソッドを追加できますが、DefaultMutableTreeNodeのすべてのメソッドがMutableTreeNodeのすべての実装に適用できるとは限りません。 提供される列挙の一部では特に、そうしたメソッドの一部を使用すると、DefaultMutableTreeNodeはDefaultMutableNodeのインスタンスだけを含む場合があります。 TreeNode/MutableTreeNodeメソッドはすべて、どの実装が追加されても定義されたように動作します。
 警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。 
- 関連項目:
- MutableTreeNode
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 protected booleanallowsChildrenノードが子を持つことができる場合はtrueです。protected Vector<TreeNode>children複数の子の配列です。このノードに子がない場合はnullです。static Enumeration<TreeNode>EMPTY_ENUMERATION常に空の列挙です。protected MutableTreeNodeparentこのノードの親です。このノードに親がない場合はnullです。protected ObjectuserObjectオプションのユーザー・オブジェクトです。
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 DefaultMutableTreeNode()親も子も持たないツリー・ノードを作成します。このツリー・ノードは子を持つことができます。DefaultMutableTreeNode(Object userObject)親も子も持たないツリー・ノードを作成し、指定されたユーザー・オブジェクトで初期化します。このツリー・ノードは子を持つことができます。DefaultMutableTreeNode(Object userObject, boolean allowsChildren)親も子もないツリー・ノードを作成します。これは、指定されたユーザー・オブジェクトで初期化され、指定された場合にかぎり子を持つことができます。
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidadd(MutableTreeNode newChild)newChildをその親から削除し、このノードの子配列の末尾に追加して、このノードの子にします。Enumeration<TreeNode>breadthFirstEnumeration()このノードをルートにするサブツリーを幅優先でトラバースする列挙を生成して返します。Enumeration<TreeNode>children()このノードの子の順方向列挙を作成して返します。Objectclone()オーバーライドされて、複製をpublicにします。Enumeration<TreeNode>depthFirstEnumeration()このノードをルートにするサブツリーを、深さ優先でトラバースする列挙を生成して返します。booleangetAllowsChildren()このノードが子を持つことを許可されている場合にtrueを返します。TreeNodegetChildAfter(TreeNode aChild)このノードの子配列内でaChildの直後にくる子を返します。なお、aChildはこのノードの子である必要があります。TreeNodegetChildAt(int index)このノードの子配列にある、指定されたインデックスの子を返します。TreeNodegetChildBefore(TreeNode aChild)このノードの子配列内でaChildの直前にくる子を返します。なお、aChildはこのノードの子である必要があります。intgetChildCount()このノードの子の数を返します。intgetDepth()このノードをルートにするツリーの深さ、つまりこのノードから葉までの最長の距離を返します。TreeNodegetFirstChild()このノードの最初の子を返します。DefaultMutableTreeNodegetFirstLeaf()このノードの下位ノードである最初の葉、つまり、このノード、またはその最初の子の最初の葉のどちらかを見つけて返します。intgetIndex(TreeNode aChild)このノードの子配列にある、指定された子のインデックスを返します。TreeNodegetLastChild()このノードの最後の子を返します。DefaultMutableTreeNodegetLastLeaf()このノードの下位ノードである最後の葉、つまり、このノード、またはその最後の子の最後の葉のどちらかを見つけて返します。intgetLeafCount()このノードの下位ノードである葉の合計数を返します。intgetLevel()このノードより上の部分のレベル数、つまりルートからこのノードまでの距離を返します。DefaultMutableTreeNodegetNextLeaf()このノードの後ろの葉を返します。このノードがツリー内の最後の葉である場合はnullを返します。DefaultMutableTreeNodegetNextNode()このノードのツリーの前順走査でこのノードの次にあるノードを返します。DefaultMutableTreeNodegetNextSibling()親の子配列にあるこのノードの次の兄弟を返します。TreeNodegetParent()このノードの親を返します。このノードに親がない場合はnullを返します。TreeNode[]getPath()ルートからこのノードに至るまでのパスを返します。protected TreeNode[]getPathToRoot(TreeNode aNode, int depth)ルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。DefaultMutableTreeNodegetPreviousLeaf()このノードの前の葉を返します。このノードがツリー内の最初の葉である場合はnullを返します。DefaultMutableTreeNodegetPreviousNode()このノードのツリーの前順走査でこのノードの前にあるノードを返します。DefaultMutableTreeNodegetPreviousSibling()親の子配列にあるこのノードの直前の兄弟を返します。TreeNodegetRoot()このノードを格納するツリーのルートを返します。TreeNodegetSharedAncestor(DefaultMutableTreeNode aNode)このノードとaNodeにもっとも近い共通の上位ノードを返します。intgetSiblingCount()このノードの兄弟数を返します。ObjectgetUserObject()このノードのユーザー・オブジェクトを返します。Object[]getUserObjectPath()ルートからこのノードに至るユーザー・オブジェクト・パスを返します。voidinsert(MutableTreeNode newChild, int childIndex)newChildをその親があればその親から削除し、子の親をこのノードに設定してから、子をこのノードの子配列のインデックスchildIndexに追加します。booleanisLeaf()このノードに子がない場合はtrueを返します。booleanisNodeAncestor(TreeNode anotherNode)anotherNodeがこのノードの上位ノードである場合、つまり、このノード、このノードの親、またはこのノードの親の上位ノードである場合にtrueを返します。booleanisNodeChild(TreeNode aNode)aNodeがこのノードの子である場合はtrueを返します。booleanisNodeDescendant(DefaultMutableTreeNode anotherNode)anotherNodeがこのノードの下位ノードである場合、つまり、このノード、このノードの複数の子の中の1つ、またはその複数の子の中の1つの下位ノードである場合にtrueを返します。booleanisNodeRelated(DefaultMutableTreeNode aNode)aNodeがこのノードと同じツリーにある場合にtrueを返します。booleanisNodeSibling(TreeNode anotherNode)anotherNodeがこのノードと同じ親を持つ兄弟である場合はtrueを返します。booleanisRoot()このノードがツリーのルートの場合はtrueを返します。Enumeration<TreeNode>pathFromAncestorEnumeration(TreeNode ancestor)ancestorからこのノードまでのパスをたどる列挙を生成して返します。Enumeration<TreeNode>postorderEnumeration()このノードをルートにするサブツリーを後順でトラバースする列挙を生成して返します。Enumeration<TreeNode>preorderEnumeration()このノードをルートにするサブツリーを前順でトラバースする列挙を生成して返します。voidremove(int childIndex)このノードの複数の子から、指定されたインデックスの子を削除し、そのノードの親をnullに設定します。voidremove(MutableTreeNode aChild)aChildをこのノードの子配列から削除し、それにnullの親を与えます。voidremoveAllChildren()このノードの子をすべて削除し、それらの親をnullに設定します。voidremoveFromParent()このノードをルートにするサブツリーをツリーから削除し、このノードにnullの親を与えます。voidsetAllowsChildren(boolean allows)このノードが子を持つことを許可されるかどうかを設定します。voidsetParent(MutableTreeNode newParent)このノードの親をnewParentに設定しますが、親の子配列は変更しません。voidsetUserObject(Object userObject)このノードのユーザー・オブジェクトをuserObjectに設定します。StringtoString()toString()をこのノードのユーザー・オブジェクトに送った結果を返します。このノードにユーザー・オブジェクトがない場合は空の文字列を返します。
- 
フィールド詳細- 
EMPTY_ENUMERATIONpublic static final Enumeration<TreeNode> EMPTY_ENUMERATION常に空の列挙です。 これは、葉ノードの子の列挙が要求されたときに使用されます。
- 
parentprotected MutableTreeNode parentこのノードの親です。このノードに親がない場合はnullです。
- 
children複数の子の配列です。このノードに子がない場合はnullです。
- 
userObjectprotected transient Object userObjectオプションのユーザー・オブジェクトです。
- 
allowsChildrenprotected boolean allowsChildrenノードが子を持つことができる場合はtrueです。
 
- 
- 
コンストラクタの詳細- 
DefaultMutableTreeNodepublic DefaultMutableTreeNode()親も子も持たないツリー・ノードを作成します。このツリー・ノードは子を持つことができます。
- 
DefaultMutableTreeNodepublic DefaultMutableTreeNode(Object userObject)親も子も持たないツリー・ノードを作成し、指定されたユーザー・オブジェクトで初期化します。このツリー・ノードは子を持つことができます。- パラメータ:
- userObject- ユーザーが提供する、ノードのデータを構成するObject
 
- 
DefaultMutableTreeNodepublic DefaultMutableTreeNode(Object userObject, boolean allowsChildren)親も子もないツリー・ノードを作成します。これは、指定されたユーザー・オブジェクトで初期化され、指定された場合にかぎり子を持つことができます。- パラメータ:
- userObject- ユーザーが提供する、ノードのデータを構成するObject
- allowsChildren- trueの場合、ノードは子ノードを持つことを許可される。そうでない場合、常に葉ノード
 
 
- 
- 
メソッドの詳細- 
insertpublic void insert(MutableTreeNode newChild, int childIndex)newChildをその親があればその親から削除し、子の親をこのノードに設定してから、子をこのノードの子配列のインデックスchildIndexに追加します。newChildはnull、およびこのノードの上位ノードにすることはできません。- 定義:
- insert、インタフェース:- MutableTreeNode
- パラメータ:
- newChild- このノードより下位の部分に挿入するMutableTreeNode
- childIndex- このノードの挿入先である、このノードの子配列のインデックス
- 例外:
- ArrayIndexOutOfBoundsException-- childIndexが範囲外にある場合
- IllegalArgumentException-- newChildがnullの場合、またはこのノードの上位ノードである場合
- IllegalStateException- このノードが子を許可しない場合
- 関連項目:
- isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
 
- 
removepublic void remove(int childIndex)このノードの複数の子から、指定されたインデックスの子を削除し、そのノードの親をnullに設定します。 削除する子ノードは、MutableTreeNodeでなければいけません。- 定義:
- remove、インタフェース:- MutableTreeNode
- パラメータ:
- childIndex- このノードの子配列で削除する対象の子のインデックス
- 例外:
- ArrayIndexOutOfBoundsException-- childIndexが範囲外にある場合
 
- 
setParentpublic void setParent(MutableTreeNode newParent)このノードの親をnewParentに設定しますが、親の子配列は変更しません。 このメソッドは子の親を再び割り当てるために、insert()とremove()から呼び出されます。他のメソッドからメッセージとして送られることはありません。- 定義:
- setParent、インタフェース:- MutableTreeNode
- パラメータ:
- newParent- このノードの新しい親
 
- 
getParentpublic TreeNode getParent()このノードの親を返します。このノードに親がない場合はnullを返します。
- 
getChildAtpublic TreeNode getChildAt(int index)このノードの子配列にある、指定されたインデックスの子を返します。- 定義:
- getChildAt、インタフェース:- TreeNode
- パラメータ:
- index- このノードの子配列のインデックス
- 戻り値:
- このノードの子配列にある、指定されたインデックスのTreeNode
- 例外:
- ArrayIndexOutOfBoundsException-- indexが範囲外にある場合
 
- 
getChildCountpublic int getChildCount()このノードの子の数を返します。- 定義:
- getChildCount、インタフェース:- TreeNode
- 戻り値:
- このノードの子の数を示すint値
 
- 
getIndexpublic int getIndex(TreeNode aChild)このノードの子配列にある、指定された子のインデックスを返します。 指定されたノードがこのノードの子でない場合は、-1を返します。 このメソッドは線形探索を実行し、O(n)です。ここでnは子の数です。- 定義:
- getIndex、インタフェース:- TreeNode
- パラメータ:
- aChild- このノードの複数の子の中から検索するTreeNode
- 戻り値:
- このノードの子配列内のノードのインデックスを示すint値。指定のノードがこのノードの子でない場合は-1
- 例外:
- IllegalArgumentException-- aChildがnullである場合
 
- 
childrenpublic Enumeration<TreeNode> children()このノードの子の順方向列挙を作成して返します。 このノードの子配列を変更すると、変更前に作成された子の列挙はどれも無効になります。
- 
setAllowsChildrenpublic void setAllowsChildren(boolean allows)このノードが子を持つことを許可されるかどうかを設定します。allowsがfalseの場合は、このノードの子はすべて削除されます。ノート: デフォルトでは、ノードは子を許可します。 - パラメータ:
- allows- このノードが子を持つことを許可される場合はtrue
 
- 
getAllowsChildrenpublic boolean getAllowsChildren()このノードが子を持つことを許可されている場合にtrueを返します。- 定義:
- getAllowsChildren、インタフェース:- TreeNode
- 戻り値:
- このノードが子を許可している場合はtrue、そうでない場合はfalse
 
- 
setUserObjectpublic void setUserObject(Object userObject)このノードのユーザー・オブジェクトをuserObjectに設定します。- 定義:
- setUserObject、インタフェース:- MutableTreeNode
- パラメータ:
- userObject- このノードのユーザー指定のデータを構成するObject
- 関連項目:
- getUserObject(),- toString()
 
- 
getUserObjectpublic Object getUserObject()このノードのユーザー・オブジェクトを返します。- 戻り値:
- ユーザーによってこのノードに格納されるObject
- 関連項目:
- setUserObject(java.lang.Object),- toString()
 
- 
removeFromParentpublic void removeFromParent()このノードをルートにするサブツリーをツリーから削除し、このノードにnullの親を与えます。 このノードがそのツリーのルートである場合は、処理を行いません。- 定義:
- removeFromParent、インタフェース:- MutableTreeNode
 
- 
removepublic void remove(MutableTreeNode aChild)aChildをこのノードの子配列から削除し、それにnullの親を与えます。- 定義:
- remove、インタフェース:- MutableTreeNode
- パラメータ:
- aChild- 削除するこのノードの子
- 例外:
- IllegalArgumentException-- aChildがnullの場合、またはこのノードの子でない場合
 
- 
removeAllChildrenpublic void removeAllChildren()このノードの子をすべて削除し、それらの親をnullに設定します。 このノードが子を持たない場合、このメソッドは処理を行いません。
- 
addpublic void add(MutableTreeNode newChild)newChildをその親から削除し、このノードの子配列の末尾に追加して、このノードの子にします。- パラメータ:
- newChild- このノードの子として追加するノード
- 例外:
- IllegalArgumentException-- newChildがnullである場合
- IllegalStateException- このノードが子を許可しない場合
- 関連項目:
- insert(javax.swing.tree.MutableTreeNode, int)
 
- 
isNodeAncestorpublic boolean isNodeAncestor(TreeNode anotherNode)anotherNodeがこのノードの上位ノードである場合、つまり、このノード、このノードの親、またはこのノードの親の上位ノードである場合にtrueを返します。 (ノードはそれ自身の上位ノードと見なされることに注意してください。)anotherNodeがnullの場合、このメソッドはfalseを返します。 この操作は最低でもO(h)です。hはルートからこのノードまでの距離です。- パラメータ:
- anotherNode- このノードの上位ノードであるかどうかを調べるノード
- 戻り値:
- このノードがanotherNodeの下位ノードである場合はtrue
- 関連項目:
- isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode),- getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)
 
- 
isNodeDescendantpublic boolean isNodeDescendant(DefaultMutableTreeNode anotherNode)anotherNodeがこのノードの下位ノードである場合、つまり、このノード、このノードの複数の子の中の1つ、またはその複数の子の中の1つの下位ノードである場合にtrueを返します。 ノードはそれ自身の下位ノードと見なされます。anotherNodeがnullの場合、falseを返します。 この操作は最低でもO(h)です。hはルートからanotherNodeまでの距離です。- パラメータ:
- anotherNode- このノードの下位ノードであるかどうかを調べるノード
- 戻り値:
- このノードがanotherNodeの上位ノードである場合はtrue
- 関連項目:
- isNodeAncestor(javax.swing.tree.TreeNode),- getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)
 
- 
getSharedAncestorpublic TreeNode getSharedAncestor(DefaultMutableTreeNode aNode)このノードとaNodeにもっとも近い共通の上位ノードを返します。 そのような上位ノードがない場合、つまりこのノードとaNodeが異なるツリーにある場合や、aNodeがnullの場合は、nullを返します。 ノードはそれ自身の上位ノードと見なされます。- パラメータ:
- aNode- 共通の上位ノードを見つけるノード
- 戻り値:
- このノードとaNodeにもっとも近い共通の上位ノード。ない場合はnull
- 関連項目:
- isNodeAncestor(javax.swing.tree.TreeNode),- isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
 
- 
isNodeRelatedpublic boolean isNodeRelated(DefaultMutableTreeNode aNode)aNodeがこのノードと同じツリーにある場合にtrueを返します。aNodeがnullの場合、falseを返します。- パラメータ:
- aNode- 共通の上位ノードを見つけるノード
- 戻り値:
- aNodeがこのノードと同じツリーにある場合はtrue、- aNodeがnullの場合はfalse
- 関連項目:
- getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode),- getRoot()
 
- 
getDepthpublic int getDepth()このノードをルートにするツリーの深さ、つまりこのノードから葉までの最長の距離を返します。 このノードが子を持たない場合は0を返します。 このノードをルートにするツリー全体を効率的にトラバースする必要があるので、この操作はgetLevel()よりもかなり負荷が大きくなります。- 戻り値:
- このノードをルートとするツリーの深さ
- 関連項目:
- getLevel()
 
- 
getLevelpublic int getLevel()このノードより上の部分のレベル数、つまりルートからこのノードまでの距離を返します。 このノードがルートの場合は0を返します。- 戻り値:
- このノードより上の部分のレベル数
- 関連項目:
- getDepth()
 
- 
getPathpublic TreeNode[] getPath()ルートからこのノードに至るまでのパスを返します。 パスの最後の要素はこのノードです。- 戻り値:
- パスを示すTreeNodeオブジェクトの配列。パスの最初の要素はルート、最後の要素はこのノード
 
- 
getPathToRootルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。 返される配列の長さは、ツリー内のノードの深さを指定します。- パラメータ:
- aNode- パスを取得するTreeNode
- depth- 返される配列のサイズ指定に使用する、(再帰呼出しで)すでに取得済みのルートまでのステップ数を示すint値
- 戻り値:
- ルートから指定されたノードまでのパスを示すTreeNodeの配列
 
- 
getUserObjectPathpublic Object[] getUserObjectPath()ルートからこのノードに至るユーザー・オブジェクト・パスを返します。 パスのいくつかのTreeNodeがnullユーザー・オブジェクトを持つ場合、返されるパスはnullを含みます。- 戻り値:
- ルートからこのノードに到達するためのユーザー・オブジェクト・パス
 
- 
getRootpublic TreeNode getRoot()このノードを格納するツリーのルートを返します。 ルートはnullの親を持つ上位ノードです。- 戻り値:
- このノードを格納するツリーのルート
- 関連項目:
- isNodeAncestor(javax.swing.tree.TreeNode)
 
- 
isRootpublic boolean isRoot()このノードがツリーのルートの場合はtrueを返します。 ルートは、ツリー内でnullの親を持つ唯一のノードです。すべてのツリーはルートを1つだけ持ちます。- 戻り値:
- このノードがそのツリーのルートの場合はtrue
 
- 
getNextNodepublic DefaultMutableTreeNode getNextNode()このノードのツリーの前順走査でこのノードの次にあるノードを返します。 このノードが走査の最後のノードである場合はnullを返します。 これはツリー全体をトラバースする方法としては効率的ではないので、代わりに列挙を使用します。- 戻り値:
- 前順走査でこのノードの次にあるノード。このノードが最後のノードの場合はnull
- 関連項目:
- preorderEnumeration()
 
- 
getPreviousNodepublic DefaultMutableTreeNode getPreviousNode()このノードのツリーの前順走査でこのノードの前にあるノードを返します。 このノードが走査の最初のノード(ツリーのルート)である場合はnullを返します。 これはツリー全体をトラバースする方法としては効率的ではないので、代わりに列挙を使用します。- 戻り値:
- 前順走査でこのノードの前にあるノード。このノードが最初のノードの場合はnull
- 関連項目:
- preorderEnumeration()
 
- 
preorderEnumerationpublic Enumeration<TreeNode> preorderEnumeration()このノードをルートにするサブツリーを前順でトラバースする列挙を生成して返します。 列挙型のnextElement()メソッドによって返される最初のノードは、このノードです。ノードの挿入、削除、移動でツリーを変更すると、変更前に作成された任意の列挙は無効になります。 - 戻り値:
- ツリーを前順走査するための列挙
- 関連項目:
- postorderEnumeration()
 
- 
postorderEnumerationpublic Enumeration<TreeNode> postorderEnumeration()このノードをルートにするサブツリーを後順でトラバースする列挙を生成して返します。 列挙型のnextElement()メソッドによって返される最初のノードは、左端の葉です。 これは、深さ優先走査と同じです。ノードの挿入、削除、移動でツリーを変更すると、変更前に作成された任意の列挙は無効になります。 - 戻り値:
- ツリーを後順走査するための列挙
- 関連項目:
- depthFirstEnumeration(),- preorderEnumeration()
 
- 
breadthFirstEnumerationpublic Enumeration<TreeNode> breadthFirstEnumeration()このノードをルートにするサブツリーを幅優先でトラバースする列挙を生成して返します。 列挙型のnextElement()メソッドによって返される最初のノードは、このノードです。ノードの挿入、削除、移動でツリーを変更すると、変更前に作成された任意の列挙は無効になります。 - 戻り値:
- ツリーを幅優先走査するための列挙
- 関連項目:
- depthFirstEnumeration()
 
- 
depthFirstEnumerationpublic Enumeration<TreeNode> depthFirstEnumeration()このノードをルートにするサブツリーを、深さ優先でトラバースする列挙を生成して返します。 列挙型のnextElement()メソッドによって返される最初のノードは、左端の葉です。 これは、ポストオーダー探索と同じです。ノードの挿入、削除、移動でツリーを変更すると、変更前に作成された任意の列挙は無効になります。 - 戻り値:
- ツリーを深さ優先走査するための列挙
- 関連項目:
- breadthFirstEnumeration(),- postorderEnumeration()
 
- 
pathFromAncestorEnumerationpublic Enumeration<TreeNode> pathFromAncestorEnumeration(TreeNode ancestor)ancestorからこのノードまでのパスをたどる列挙を生成して返します。 列挙のnextElement()メソッドは、最初にancestor、次にこのノードの上位ノードであるancestorの子というように順次返していき、最後にこのノードを返します。 列挙の生成はO(m)です。mはこのノードとancestorの間(このノードとancestorを含む)のノード数です。 各nextElement()メッセージはO(1)です。ノードの挿入、削除、移動でツリーを変更すると、変更前に作成された任意の列挙は無効になります。 - パラメータ:
- ancestor- 列挙を開始するノード
- 戻り値:
- このノードの上位ノードからこれまでのパスをたどるための列挙
- 例外:
- IllegalArgumentException-- ancestorがこのノードの上位ノードでない場合
- 関連項目:
- isNodeAncestor(javax.swing.tree.TreeNode),- isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
 
- 
isNodeChildpublic boolean isNodeChild(TreeNode aNode)aNodeがこのノードの子である場合はtrueを返します。aNodeがnullの場合、このメソッドはfalseを返します。- パラメータ:
- aNode- 子であるかどうかを決定するノード
- 戻り値:
- aNodeがこのノードの子である場合はtrue。- aNodeがnullの場合はfalse
 
- 
getFirstChildpublic TreeNode getFirstChild()このノードの最初の子を返します。 このノードに子がない場合は、NoSuchElementExceptionをスローします。- 戻り値:
- このノードの最初の子
- 例外:
- NoSuchElementException- このノードに子がない場合
 
- 
getLastChildpublic TreeNode getLastChild()このノードの最後の子を返します。 このノードに子がない場合は、NoSuchElementExceptionをスローします。- 戻り値:
- このノードの最後の子
- 例外:
- NoSuchElementException- このノードに子がない場合
 
- 
getChildAfterこのノードの子配列内でaChildの直後にくる子を返します。なお、aChildはこのノードの子である必要があります。aChildが最後の子の場合は、nullを返します。 このメソッドは、このノードの子のO(n)の線形探索を実行してaChildを探します。nは子の数です。子の配列全体をトラバースするには、代わりに列挙を使用します。- パラメータ:
- aChild- 子ノードがそれの後の次の子を探す
- 戻り値:
- aChildの直後にくるこのノードの子
- 例外:
- IllegalArgumentException-- aChildがnullの場合、またはこのノードの子でない場合
- 関連項目:
- children
 
- 
getChildBeforeこのノードの子配列内でaChildの直前にくる子を返します。なお、aChildはこのノードの子である必要があります。aChildが最初の子の場合、nullを返します。 このメソッドは、このノードの子のO(n)の線形探索を実行してaChildを探します。nは子の数です。- パラメータ:
- aChild- 前の子を探す子ノード
- 戻り値:
- aChildの直前にくるこのノードの子
- 例外:
- IllegalArgumentException-- aChildがnullの場合、またはこのノードの子でない場合
 
- 
isNodeSiblingpublic boolean isNodeSibling(TreeNode anotherNode)anotherNodeがこのノードと同じ親を持つ兄弟である場合はtrueを返します。 ノードはそれ自身の兄弟です。anotherNodeがnullの場合、falseを返します。- パラメータ:
- anotherNode- このノードの兄弟であるかどうかを調べるノード
- 戻り値:
- anotherNodeがこのノードの兄弟の場合はtrue
 
- 
getSiblingCountpublic int getSiblingCount()このノードの兄弟数を返します。 ノードはそれ自身の兄弟です。親も兄弟も持っていない場合、このメソッドは1を返します。- 戻り値:
- このノードの兄弟数
 
- 
getNextSiblingpublic DefaultMutableTreeNode getNextSibling()親の子配列にあるこのノードの次の兄弟を返します。 このノードに親がない場合や、このノードが親の最後の子である場合は、nullを返します。 このメソッドはO(n)の線形探索を実行します。nは子の数です。配列全体をトラバースするには、代わりに親の子の列挙を使用します。- 戻り値:
- このノードの直後にある、このノードの兄弟
- 関連項目:
- children
 
- 
getPreviousSiblingpublic DefaultMutableTreeNode getPreviousSibling()親の子配列にあるこのノードの直前の兄弟を返します。 このノードに親がない場合や、このノードが親の最初の子である場合は、nullを返します。 このメソッドはO(n)の線形探索を実行します。ここでnは子の数です。- 戻り値:
- このノードの直前にある、このノードの兄弟
 
- 
isLeafpublic boolean isLeaf()このノードに子がない場合はtrueを返します。 子のないノードと、子を持てないノードを見分けるには(たとえば、ファイルを空のディレクトリと区別するには)、このメソッドをgetAllowsChildrenと組み合わせて使用します。- 定義:
- isLeaf、インタフェース:- TreeNode
- 戻り値:
- このノードに子がない場合はtrue
- 関連項目:
- getAllowsChildren()
 
- 
getFirstLeafpublic DefaultMutableTreeNode getFirstLeaf()このノードの下位ノードである最初の葉、つまり、このノード、またはその最初の子の最初の葉のどちらかを見つけて返します。 このノードが葉の場合にはそれを返します。- 戻り値:
- このノードをルートにするサブツリー内の最初の葉
- 関連項目:
- isLeaf(),- isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
 
- 
getLastLeafpublic DefaultMutableTreeNode getLastLeaf()このノードの下位ノードである最後の葉、つまり、このノード、またはその最後の子の最後の葉のどちらかを見つけて返します。 このノードが葉の場合にはそれを返します。- 戻り値:
- このノードをルートにするサブツリー内の最後の葉
- 関連項目:
- isLeaf(),- isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
 
- 
getNextLeafpublic DefaultMutableTreeNode getNextLeaf()このノードの後ろの葉を返します。このノードがツリー内の最後の葉である場合はnullを返します。MutableNodeインタフェースのこの実装では、この操作はあまり効率的ではありません。 次のノードを判定するには、このメソッドは最初に現在のノードを見つけるために親の子リストで線形探索を実行します。この実装は、操作を既知の位置から短いトラバーサルを行うのに適したものにします。 ツリー内のすべての葉をトラバースするには、 depthFirstEnumerationを使用してツリー内のノードを列挙し、isLeafを各ノードに使用してどれが葉であるかを判定します。- 戻り値:
- このノードの次の葉
- 関連項目:
- depthFirstEnumeration(),- isLeaf()
 
- 
getPreviousLeafpublic DefaultMutableTreeNode getPreviousLeaf()このノードの前の葉を返します。このノードがツリー内の最初の葉である場合はnullを返します。MutableNodeインタフェースのこの実装では、この操作はあまり効率的ではありません。 直前のノードを判定するには、このメソッドは最初に現在のノードを見つけるために親の子リストで線形探索を実行します。この実装は、操作を既知の位置から短いトラバーサルを行うのに適したものにします。 ツリー内のすべての葉をトラバースするには、 depthFirstEnumerationを使用してツリー内のノードを列挙し、isLeafを各ノードに使用してどれが葉であるかを判定します。- 戻り値:
- このノードの前の葉
- 関連項目:
- depthFirstEnumeration(),- isLeaf()
 
- 
getLeafCountpublic int getLeafCount()このノードの下位ノードである葉の合計数を返します。 このノードが葉である場合は、1を返します。 このメソッドはO(n)です。nはこのノードの下位ノードの数です。- 戻り値:
- このノードより下の部分にある葉の数
- 関連項目:
- isNodeAncestor(javax.swing.tree.TreeNode)
 
- 
toStringpublic String toString()toString()をこのノードのユーザー・オブジェクトに送った結果を返します。このノードにユーザー・オブジェクトがない場合は空の文字列を返します。- オーバーライド:
- toString、クラス:- Object
- 戻り値:
- このオブジェクトの文字列表現。
- 関連項目:
- getUserObject()
 
- 
clonepublic Object clone()オーバーライドされて、複製をpublicにします。 このノードのシャロー・コピーを返します。つまり、新しいノードは親や子を持たず、同じユーザー・オブジェクトがあればそれを参照します。
 
-