|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.tree.DefaultMutableTreeNode
public class DefaultMutableTreeNode
DefaultMutableTreeNode
는, 트리 데이터 구조의 범용 노드입니다. 디폴트의 가변 트리 노드의 사용예는, 「The Java Tutorial」의「How to Use Trees」를 참조해 주세요.
트리 노드는 최대 1 살의 부모와 제로개이상의 아이를 가집니다. DefaultMutableTreeNode
는, 노드의 부모와 아이의 검사라고 변경을 행하기 위한 조작과 그 노드에 의해 구성되는 트리를 검사하는 조작을 제공합니다. 노드의 트리는, 그 노드를 기점으로 하는 부모와 아이에게로의 모든 가능한 링크를 더듬어 도달할 수 있는, 모든 노드로부터 구성됩니다. 부모를 가지지 않는 노드는 그 트리의 루트로, 아이를 가지지 않는 노드는 잎입니다. 트리는 다수의 서브 트리를 가질 수가 있어 각 노드는 그 서브 트리의 루트가 됩니다.
이 클래스는, 트리 또는 서브 트리를 다양한 순서로 효율적으로 더듬는 방법이나, 2 개의 노드간의 패스를 더듬기 위한 방법을 열거합니다. DefaultMutableTreeNode
에는, 사용자 객체에의 참조, 즉 사용자가 독자적으로 정의하는 객체에의 참조도 포함할 수 있습니다. DefaultMutableTreeNode
에 toString()
를 지정해 그 캐릭터 라인 표현을 요구하면(자), 그 사용자 객체의 캐릭터 라인 표현을 돌려줍니다.
이 클래스는 thread 세이프가 아닙니다. 복수의 thread로 DefaultMutableTreeNode (즉, TreeNode 의 트리)를 사용하는 경우, 사용자 자신이 동기를 실시할 필요가 있습니다. 관례에서는, 트리의 루트 노드로 동기 시킵니다.
DefaultMutableTreeNode 은 MutableTreeNode 인터페이스를 구현해, MutableTreeNode 의 모든 구현에 메소드를 추가할 수 있습니다만, DefaultMutableTreeNode 의 모든 메소드가 MutableTreeNode 의 모든 구현에 적용할 수 있다고는 할 수 없습니다. 제공되는 열거의 일부에서는 특히, 그러한 메소드의 일부를 사용하면(자), DefaultMutableTreeNode 는 DefaultMutableNode 의 인스턴스만을 포함한 경우가 있습니다. TreeNode/MutableTreeNode 메소드는 모두, 어느 구현이 추가되어도 정의된 것처럼 동작합니다.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,java.beans
패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder
를 참조해 주세요.
MutableTreeNode
필드의 개요 | |
---|---|
protected boolean |
allowsChildren
노드가 아이를 가질 수가 있는 경우는 true 입니다. |
protected Vector |
children
복수의 아이의 배열입니다. |
static Enumeration <TreeNode > |
EMPTY_ENUMERATION
항상 빈 상태(empty)의 열거입니다. |
protected MutableTreeNode |
parent
이 노드의 부모입니다. |
protected Object |
userObject
옵션의 사용자 객체입니다. |
생성자 의 개요 | |
---|---|
DefaultMutableTreeNode ()
부모나 아이도 가지지 않는 트리 노드를 작성합니다. |
|
DefaultMutableTreeNode (Object userObject)
부모나 아이도 가지지 않는 트리 노드를 작성해, 지정된 사용자 객체로 초기화합니다. |
|
DefaultMutableTreeNode (Object userObject,
boolean allowsChildren)
부모나 아이도 없는 트리 노드를 작성합니다. |
메소드의 개요 | |
---|---|
void |
add (MutableTreeNode newChild)
newChild 를 그 부모로부터 삭제해, 이 노드의 아이 배열의 말미에 추가해, 이 노드의 아이로 합니다. |
Enumeration |
breadthFirstEnumeration ()
이 노드를 루트로 하는 서브 트리를 폭우선으로 횡단(traverse) 하는 열거를 생성해 돌려줍니다. |
Enumeration |
children ()
이 노드의 아이의 순서 방향 열거를 작성해 돌려줍니다. |
Object |
clone ()
오버라이드(override) 되어, 복제를 public 로 합니다. |
Enumeration |
depthFirstEnumeration ()
이 노드를 루트로 하는 서브 트리를, 깊이 우선으로 횡단(traverse) 하는 열거를 생성해 돌려줍니다. |
boolean |
getAllowsChildren ()
이 노드가 아이를 가지는 것을 허가되고 있는 경우에 true 를 돌려줍니다. |
TreeNode |
getChildAfter (TreeNode aChild)
이 노드의 아이 배열내에서 aChild 의 직후에 오는 아이를 돌려줍니다. |
TreeNode |
getChildAt (int index)
이 노드의 아이 배열에 있는, 지정된 인덱스의 아이를 돌려줍니다. |
TreeNode |
getChildBefore (TreeNode aChild)
이 노드의 아이 배열내에서 aChild 의 직전에 오는 아이를 돌려줍니다. |
int |
getChildCount ()
이 노드의 아이의 수를 돌려줍니다. |
int |
getDepth ()
이 노드를 루트로 하는 트리의 깊이, 즉 이 노드로부터 잎까지의 최장의 거리를 돌려줍니다. |
TreeNode |
getFirstChild ()
이 노드의 최초의 아이를 돌려줍니다. |
DefaultMutableTreeNode |
getFirstLeaf ()
이 노드의 하위 노드인 최초의 잎, 즉, 이 노드, 또는 그 최초의 아이의 최초의 잎의 어느 쪽인지를 찾아내 돌려줍니다. |
int |
getIndex (TreeNode aChild)
이 노드의 아이 배열에 있는, 지정된 아이의 인덱스를 돌려줍니다. |
TreeNode |
getLastChild ()
이 노드의 마지막 아이를 돌려줍니다. |
DefaultMutableTreeNode |
getLastLeaf ()
이 노드의 하위 노드인 마지막 잎, 즉, 이 노드, 또는 그 마지막 아이의 마지막 잎의 어느 쪽인지를 찾아내 돌려줍니다. |
int |
getLeafCount ()
이 노드의 하위 노드인 잎의 합계수를 돌려줍니다. |
int |
getLevel ()
이 노드보다 위의 부분의 레벨수, 즉 루트로부터 이 노드까지의 거리를 돌려줍니다. |
DefaultMutableTreeNode |
getNextLeaf ()
이 노드의 뒤의 잎을 돌려줍니다. |
DefaultMutableTreeNode |
getNextNode ()
이 노드의 트리의 전순주사로 이 노드의 다음에 있는 노드를 돌려줍니다. |
DefaultMutableTreeNode |
getNextSibling ()
부모의 아이 배열에 있는 이 노드의 다음의 형제 위젯를 돌려줍니다. |
TreeNode |
getParent ()
이 노드의 부모를 돌려줍니다. |
TreeNode [] |
getPath ()
루트로부터 이 노드에 이를 때까지의 패스를 돌려줍니다. |
protected TreeNode [] |
getPathToRoot (TreeNode aNode,
int depth)
루트 노드까지를 포함한 노드의 부모를 구축합니다. |
DefaultMutableTreeNode |
getPreviousLeaf ()
이 노드의 전의 잎을 돌려줍니다. |
DefaultMutableTreeNode |
getPreviousNode ()
이 노드의 트리의 전순주사로 이 노드의 전에 있는 노드를 돌려줍니다. |
DefaultMutableTreeNode |
getPreviousSibling ()
부모의 아이 배열에 있는 이 노드의 직전의 형제 위젯를 돌려줍니다. |
TreeNode |
getRoot ()
이 노드를 포함하는 트리의 루트를 돌려줍니다. |
TreeNode |
getSharedAncestor (DefaultMutableTreeNode aNode)
이 노드와 aNode 에 가장 가까운 공통의 상위 노드를 돌려줍니다. |
int |
getSiblingCount ()
이 노드의 형제 위젯수를 돌려줍니다. |
Object |
getUserObject ()
이 노드의 사용자 객체를 돌려줍니다. |
Object [] |
getUserObjectPath ()
루트로부터 이 노드에 이르는 사용자 객체 패스를 돌려줍니다. |
void |
insert (MutableTreeNode newChild,
int childIndex)
newChild 를 그 부모가 있으면 그 부모로부터 삭제해, 아이의 부모를 이 노드로 설정하고 나서, 아이를 이 노드의 아이 배열의 인덱스 childIndex 에 추가합니다. |
boolean |
isLeaf ()
이 노드에 아이가 없는 경우는 true 를 돌려줍니다. |
boolean |
isNodeAncestor (TreeNode anotherNode)
anotherNode 가 이 노드의 상위 노드인 경우, 즉, 이 노드, 이 노드의 부모, 또는 이 노드의 부모의 상위 노드인 경우에 true 를 돌려줍니다. |
boolean |
isNodeChild (TreeNode aNode)
aNode 가 이 노드의 아이인 경우는 true 를 돌려줍니다. |
boolean |
isNodeDescendant (DefaultMutableTreeNode anotherNode)
anotherNode 가 이 노드의 하위 노드인 경우, 즉, 이 노드, 이 노드의 복수의 아이안의 1개, 또는 그 복수의 아이중의 하나의 하위 노드인 경우에 true 를 돌려줍니다. |
boolean |
isNodeRelated (DefaultMutableTreeNode aNode)
aNode 가 이 노드와 같은 트리에 있는 경우에 true 를 돌려줍니다. |
boolean |
isNodeSibling (TreeNode anotherNode)
anotherNode 가 이 노드와 같은 부모를 가지는 형제 위젯인 경우는 true 를 돌려줍니다. |
boolean |
isRoot ()
이 노드가 트리의 루트의 경우는 true 를 돌려줍니다. |
Enumeration |
pathFromAncestorEnumeration (TreeNode ancestor)
ancestor 로부터 이 노드까지의 패스를 더듬는 열거를 생성해 돌려줍니다. |
Enumeration |
postorderEnumeration ()
이 노드를 루트로 하는 서브 트리를 후순으로 횡단(traverse) 하는 열거를 생성해 돌려줍니다. |
Enumeration |
preorderEnumeration ()
이 노드를 루트로 하는 서브 트리를 전순으로 횡단(traverse) 하는 열거를 생성해 돌려줍니다. |
void |
remove (int childIndex)
이 노드의 복수의 아이로부터, 지정된 인덱스의 아이를 삭제해, 그 노드의 부모를 null 로 설정합니다. |
void |
remove (MutableTreeNode aChild)
aChild 를 이 노드의 아이 배열로부터 삭제해, 거기에 null 의 부모를 줍니다. |
void |
removeAllChildren ()
이 노드의 아이를 모두 삭제해, 그러한 부모를 null 로 설정합니다. |
void |
removeFromParent ()
이 노드를 루트로 하는 서브 트리를 트리로부터 삭제해, 이 노드에 null 의 부모를 줍니다. |
void |
setAllowsChildren (boolean allows)
이 노드가 아이를 가지는 것을 허가될지 어떨지를 설정합니다. |
void |
setParent (MutableTreeNode newParent)
이 노드의 부모를 newParent 로 설정합니다만, 부모의 아이 배열은 변경하지 않습니다. |
void |
setUserObject (Object userObject)
이 노드의 사용자 객체를 userObject 로 설정합니다. |
String |
toString ()
toString() 를 이 노드의 사용자 객체에 보낸 결과를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
public static final Enumeration <TreeNode > EMPTY_ENUMERATION
protected MutableTreeNode parent
protected Vector children
protected transient Object userObject
protected boolean allowsChildren
생성자 의 상세 |
---|
public DefaultMutableTreeNode()
public DefaultMutableTreeNode(Object userObject)
userObject
- 사용자가 제공하는, 노드의 데이터를 구성한다
Objectpublic DefaultMutableTreeNode(Object userObject, boolean allowsChildren)
userObject
- 사용자가 제공하는, 노드의 데이터를 구성한다
ObjectallowsChildren
- true 의 경우, 노드는 자식(child) 노드를 가지는 것을 허가된다.
그렇지 않은 경우, 항상 잎노드메소드의 상세 |
---|
public void insert(MutableTreeNode newChild, int childIndex)
newChild
를 그 부모가 있으면 그 부모로부터 삭제해, 아이의 부모를 이 노드로 설정하고 나서, 아이를 이 노드의 아이 배열의 인덱스 childIndex
에 추가합니다. newChild
는 null, 및 이 노드의 상위 노드로 할 수 없습니다.
MutableTreeNode
내의 insert
newChild
- 이 노드보다 하위의 부분에 삽입하는 MutableTreeNodechildIndex
- 이 노드의 삽입처인, 이 노드의 아이 배열의 인덱스
ArrayIndexOutOfBoundsException
- 다음의 조건이 성립하는 경우:
childIndex
가 범위외에 있는 경우
IllegalArgumentException
- 다음의 조건이 성립하는 경우:
newChild
가 null 의 경우, 또는 이 노드의 상위 노드인 경우
IllegalStateException
- 이 노드가 아이를 허가하지 않는 경우isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
public void remove(int childIndex)
MutableTreeNode
가 아니면 안됩니다.
MutableTreeNode
내의 remove
childIndex
- 이 노드의 아이 배열로 삭제하는 대상의 아이의 인덱스
ArrayIndexOutOfBoundsException
- 다음의 조건이 성립하는 경우:
childIndex
가 범위외에 있는 경우public void setParent(MutableTreeNode newParent)
newParent
로 설정합니다만, 부모의 아이 배열은 변경하지 않습니다. 이 메소드는 아이의 부모를 다시 할당하기 위해서(때문에),insert()
와 remove()
로부터 불려 갑니다. 다른 메소드로부터 메세지로서 보내질 것은 없습니다.
MutableTreeNode
내의 setParent
newParent
- 이 노드의 새로운 부모public TreeNode getParent()
TreeNode
내의 getParent
public TreeNode getChildAt(int index)
TreeNode
내의 getChildAt
index
- 이 노드의 아이 배열의 인덱스
ArrayIndexOutOfBoundsException
- index
가 범위외에 있는 경우public int getChildCount()
TreeNode
내의 getChildCount
public int getIndex(TreeNode aChild)
-1
을 돌려줍니다. 이 메소드는 O(n)의 선형 탐색을 실행합니다. n 는 아이의 수입니다.
TreeNode
내의 getIndex
aChild
- 이 노드의 복수의 아이중에서 검색하는 TreeNode
-1
IllegalArgumentException
- aChild
가 null 의 경우public Enumeration children()
TreeNode
내의 children
public void setAllowsChildren(boolean allows)
주:디폴트에서는, 노드는 아이를 허가합니다.
allows
- 이 노드가 아이를 가지는 것을 허가되는 경우는 truepublic boolean getAllowsChildren()
TreeNode
내의 getAllowsChildren
public void setUserObject(Object userObject)
userObject
로 설정합니다.
MutableTreeNode
내의 setUserObject
userObject
- 이 노드의 사용자 지정의 데이터를 구성한다
ObjectgetUserObject()
,
toString()
public Object getUserObject()
setUserObject(java.lang.Object)
,
toString()
public void removeFromParent()
MutableTreeNode
내의 removeFromParent
public void remove(MutableTreeNode aChild)
aChild
를 이 노드의 아이 배열로부터 삭제해, 거기에 null 의 부모를 줍니다.
MutableTreeNode
내의 remove
aChild
- 삭제하는 이 노드의 아이
IllegalArgumentException
- aChild
가 null 의 경우, 또는 이 노드의 아이가 아닌 경우public void removeAllChildren()
public void add(MutableTreeNode newChild)
newChild
를 그 부모로부터 삭제해, 이 노드의 아이 배열의 말미에 추가해, 이 노드의 아이로 합니다.
newChild
- 이 노드의 아이로서 추가하는 노드
IllegalArgumentException
- newChild
가 null 의 경우
IllegalStateException
- 이 노드가 아이를 허가하지 않는 경우insert(javax.swing.tree.MutableTreeNode, int)
public boolean isNodeAncestor(TreeNode anotherNode)
anotherNode
가 이 노드의 상위 노드인 경우, 즉, 이 노드, 이 노드의 부모, 또는 이 노드의 부모의 상위 노드인 경우에 true 를 돌려줍니다. 노드는 그것 자신의 상위 노드라고 보여집니다. anotherNode
가 null 의 경우는, 이 메소드는 false 를 돌려줍니다. 이 조작은 최악이어도 O(h)입니다. h 는 루트로부터 이 노드까지의 거리입니다.
anotherNode
- 이 노드의 상위 노드일지 어떨지를 조사하는 노드
anotherNode
의 하위 노드인 경우는 trueisNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
,
getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)
public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode)
anotherNode
가 이 노드의 하위 노드인 경우, 즉, 이 노드, 이 노드의 복수의 아이안의 1개, 또는 그 복수의 아이중의 하나의 하위 노드인 경우에 true 를 돌려줍니다. 노드는 그것 자신의 하위 노드라고 보여집니다. anotherNode
가 null 의 경우는, false 를 돌려줍니다. 이 조작은 최악이어도 O(h)입니다. h 는 루트로부터 anotherNode
까지의 거리입니다.
anotherNode
- 이 노드의 하위 노드일지 어떨지를 조사하는 노드
anotherNode
의 상위 노드인 경우는 trueisNodeAncestor(javax.swing.tree.TreeNode)
,
getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)
public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode)
aNode
에 가장 가까운 공통의 상위 노드를 돌려줍니다. 그러한 상위 노드가 없는 경우, 즉 이 노드와 aNode
가 다른 트리에 있는 경우나,aNode
가 null 의 경우는, null 를 돌려줍니다. 노드는 그것 자신의 상위 노드라고 보여집니다.
aNode
- 공통의 상위 노드를 찾아내는 노드
aNode
에 가장 가까운 공통의 상위 노드.
없는 경우는 nullisNodeAncestor(javax.swing.tree.TreeNode)
,
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
public boolean isNodeRelated(DefaultMutableTreeNode aNode)
aNode
가 이 노드와 같은 트리에 있는 경우에 true 를 돌려줍니다. aNode 가 null 의 경우는 false 를 돌려줍니다.
aNode
가 이 노드와 같은 트리에 있는 경우는 true,aNode
가 null 의 경우는 falsegetSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)
,
getRoot()
public int getDepth()
getLevel()
보다 꽤 부하가 커집니다.
getLevel()
public int getLevel()
getDepth()
public TreeNode [] getPath()
protected TreeNode [] getPathToRoot(TreeNode aNode, int depth)
aNode
- 패스를 취득하는 TreeNodedepth
- 반환되는 배열의 사이즈 지정에 사용하는, (재귀 호출로)
벌써 취득 끝난 루트까지의 스텝수를 나타내는 int 치
public Object [] getUserObjectPath()
public TreeNode getRoot()
isNodeAncestor(javax.swing.tree.TreeNode)
public boolean isRoot()
public DefaultMutableTreeNode getNextNode()
preorderEnumeration()
public DefaultMutableTreeNode getPreviousNode()
null
를 돌려줍니다. 이것은 트리 전체를 횡단(traverse) 하는 방법으로서는 효율적은 아니기 때문에, 대신에 열거를 사용합니다.
preorderEnumeration()
public Enumeration preorderEnumeration()
nextElement()
메소드에 의해 반환되는 최초의 노드는, 이 노드입니다. 노드의 삽입, 삭제, 이동으로 트리를 변경하면(자), 변경전에 작성된 임의의 열거는 무효가 됩니다.
postorderEnumeration()
public Enumeration postorderEnumeration()
nextElement()
메소드에 의해 반환되는 최초의 노드는, 좌단의 잎입니다. 이것은, 깊이 우선 주사와 같습니다. 노드의 삽입, 삭제, 이동으로 트리를 변경하면(자), 변경전에 작성된 임의의 열거는 무효가 됩니다.
depthFirstEnumeration()
,
preorderEnumeration()
public Enumeration breadthFirstEnumeration()
nextElement()
메소드에 의해 반환되는 최초의 노드는, 이 노드입니다. 노드의 삽입, 삭제, 이동으로 트리를 변경하면(자), 변경전에 작성된 임의의 열거는 무효가 됩니다.
depthFirstEnumeration()
public Enumeration depthFirstEnumeration()
nextElement()
메소드에 의해 반환되는 최초의 노드는, 좌단의 잎입니다. 이것은, 포스트오더 탐색과 같습니다. 노드의 삽입, 삭제, 이동으로 트리를 변경하면(자), 변경전에 작성된 임의의 열거는 무효가 됩니다.
breadthFirstEnumeration()
,
postorderEnumeration()
public Enumeration pathFromAncestorEnumeration(TreeNode ancestor)
ancestor
로부터 이 노드까지의 패스를 더듬는 열거를 생성해 돌려줍니다. 열거의 nextElement()
메소드는, 최초로 ancestor
, 다음에 이 노드의 상위 노드인 ancestor
의 아이와 같이 차례차례 돌려주어 가 마지막에 이 노드를 돌려줍니다. 열거의 생성은 O(m)입니다. m 는 이 노드와 ancestor
의 사이 (이 노드와 ancestor
를 포함한다)의 노드수입니다. 각 nextElement()
메세지는 O(1)입니다. 노드의 삽입, 삭제, 이동으로 트리를 변경하면(자), 변경전에 작성된 임의의 열거는 무효가 됩니다.
IllegalArgumentException
- ancestor
가 이 노드의 상위 노드가 아닌 경우isNodeAncestor(javax.swing.tree.TreeNode)
,
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
public boolean isNodeChild(TreeNode aNode)
aNode
가 이 노드의 아이인 경우는 true 를 돌려줍니다. aNode 가 null 의 경우, 이 메소드는 false 를 돌려줍니다.
aNode
가 이 노드의 아이인 경우는 true.
aNode
가 null 의 경우는 falsepublic TreeNode getFirstChild()
NoSuchElementException
- 이 노드에 아이가 없는 경우public TreeNode getLastChild()
NoSuchElementException
- 이 노드에 아이가 없는 경우public TreeNode getChildAfter(TreeNode aChild)
aChild
의 직후에 오는 아이를 돌려줍니다. 덧붙여aChild
는 이 노드의 아이일 필요가 있습니다. aChild 가 마지막 아이의 경우는, null 를 돌려줍니다. 이 메소드는, 이 노드의 아이의 O(n)의 선형 탐색을 실행해 aChild
를 찾습니다. n 는 아이의 수입니다. 아이의 배열 전체를 횡단(traverse) 하려면 , 대신에 열거를 사용합니다.
aChild
의 직후에 오는 이 노드의 아이
IllegalArgumentException
- aChild
가 null 의 경우, 또는 이 노드의 아이가 아닌 경우children
public TreeNode getChildBefore(TreeNode aChild)
aChild
의 직전에 오는 아이를 돌려줍니다. 덧붙여aChild
는 이 노드의 아이일 필요가 있습니다. aChild 가 최초의 아이의 경우, null 를 돌려줍니다. 이 메소드는, 이 노드의 아이의 O(n)의 선형 탐색을 실행해 aChild
를 찾습니다. n 는 아이의 수입니다.
aChild
의 직전에 오는 이 노드의 아이
IllegalArgumentException
- aChild
가 null 의 경우,
또는 이 노드의 아이가 아닌 경우public boolean isNodeSibling(TreeNode anotherNode)
anotherNode
가 이 노드와 같은 부모를 가지는 형제 위젯인 경우는 true 를 돌려줍니다. 노드는 그것 자신의 형제 위젯입니다. anotherNode 가 null 의 경우는, false 를 돌려줍니다.
anotherNode
- 이 노드의 형제 위젯일지 어떨지를 조사하는 노드
anotherNode
가 이 노드의 형제 위젯의 경우는 truepublic int getSiblingCount()
1
을 돌려줍니다.
public DefaultMutableTreeNode getNextSibling()
children
public DefaultMutableTreeNode getPreviousSibling()
public boolean isLeaf()
getAllowsChildren
와 조합해 사용합니다.
TreeNode
내의 isLeaf
getAllowsChildren()
public DefaultMutableTreeNode getFirstLeaf()
isLeaf()
,
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
public DefaultMutableTreeNode getLastLeaf()
isLeaf()
,
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)
public DefaultMutableTreeNode getNextLeaf()
MutableNode
인터페이스의 이 구현에서는, 이 조작은 그다지 효율적이 아닙니다. 다음의 노드를 판정하려면 , 이 메소드는 최초로 현재의 노드를 찾아내기 위해서(때문에) 부모의 아이 리스트로 선형 탐색을 실행합니다.
이 구현은, 조작을 기존의 위치로부터 짧은 traversal를 실시하는데 적합한 것으로 합니다. 트리내의 모든 잎을 횡단(traverse) 하려면 ,depthFirstEnumeration
를 사용해 트리내의 노드를 열거해,isLeaf
를 각 노드에 사용해 어떤 것이 잎인지를 판정합니다.
depthFirstEnumeration()
,
isLeaf()
public DefaultMutableTreeNode getPreviousLeaf()
MutableNode
인터페이스의 이 구현에서는, 이 조작은 그다지 효율적이 아닙니다. 직전의 노드를 판정하려면 , 이 메소드는 최초로 현재의 노드를 찾아내기 위해서(때문에) 부모의 아이 리스트로 선형 탐색을 실행합니다.
이 구현은, 조작을 기존의 위치로부터 짧은 traversal를 실시하는데 적합한 것으로 합니다. 트리내의 모든 잎을 횡단(traverse) 하려면 ,depthFirstEnumeration
를 사용해 트리내의 노드를 열거해,isLeaf
를 각 노드에 사용해 어떤 것이 잎인지를 판정합니다.
depthFirstEnumeration()
,
isLeaf()
public int getLeafCount()
1
을 돌려줍니다. 이 메소드는 O(n)입니다. n 는 이 노드의 하위 노드의 수입니다.
isNodeAncestor(javax.swing.tree.TreeNode)
public String toString()
toString()
를 이 노드의 사용자 객체에 보낸 결과를 돌려줍니다. 이 노드에 사용자 객체가 없는 경우는 null 를 돌려줍니다.
Object
내의 toString
getUserObject()
public Object clone()
Object
내의 clone
Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.