JavaTM Platform
Standard Ed. 6

javax.swing.tree
인터페이스 TreeModel

기존의 구현 클래스의 일람:
DefaultTreeModel


public interface TreeModel

JTree 가 사용하는 모델입니다.

JTree 와 그 관련 클래스는,TreeModel 내의 노드를 식별하기 위해서 TreePath 를 광범위하게 걸쳐 사용합니다. TreeModel 로, 같은 부모아래의 2 개가 다른 인덱스에 있는 같은 객체 (equals 로 비교된 것)가 돌려주어지면(자), 결과적으로 얻을 수 있는 TreePath 객체도 이와 같이 동일하다고 보여집니다. 일부의 구현에서는, 2 개의 TreePath 가 동일한 경우, 그것들은 같은 노드라고 보여지는 일이 있습니다. 이 조건이 채워지지 않으면 페인트 문제나 그 외의 이상한 사태가 발생하는 경우가 있습니다. 바꾸어 말하면, 특정의 부모에 대한 getChild 로 같은 Object (equals 로 판정된 것)가 돌려주어졌을 경우는 문제가 발생하는 일이 있기 (위해)때문에, 이러한 처리는 실시하지 않는 것을 추천합니다.

같이JTree 와 그 관련 클래스는,TreePathMap 내에 배치합니다. 이 때문에, 노드가 2 회 요구되었을 경우는, 반환값이 동일하고 (equals 메소드를 사용),hashCode 가 같지 않으면 안됩니다.

커스텀 구현의 예를 포함한 트리 모델의 상세한 것에 대하여는, 「The Java Tutorial」의「How to Use Trees」를 참조해 주세요.

관련 항목:
TreePath

메소드의 개요
 void addTreeModelListener (TreeModelListener  l)
          트리가 변경된 뒤에 송신된 TreeModelEvent 의 청취자를 추가합니다.
 Object getChild (Object  parent, int index)
          부모가 가지는 아이 배열의, 인덱스 index 에 있는 parent 의 아이를 돌려줍니다.
 int getChildCount (Object  parent)
          parent 의 아이의 수를 돌려줍니다.
 int getIndexOfChild (Object  parent, Object  child)
          부모의 아이의 인덱스를 돌려줍니다.
 Object getRoot ()
          트리의 루트를 돌려줍니다.
 boolean isLeaf (Object  node)
          node 가 잎인 경우는 true 를 돌려줍니다.
 void removeTreeModelListener (TreeModelListener  l)
          이전에 addTreeModelListener 로 추가된 청취자를 삭제합니다.
 void valueForPathChanged (TreePath  path, Object  newValue)
          newValue 에의 path 에 의해 식별되는 항목의 값을 사용자가 변경하면(자), 메세지로서 송신됩니다.
 

메소드의 상세

getRoot

Object  getRoot()
트리의 루트를 돌려줍니다. 트리에 노드가 없는 경우만,null 를 돌려줍니다.

반환값:
트리의 루트

getChild

Object  getChild(Object  parent,
                int index)
부모가 가지는 아이 배열의, 인덱스 index 에 있는 parent 의 아이를 돌려줍니다. parent 는, 이 데이터 소스로부터 그때까지 취득된 노드가 아니면 안됩니다. index 가 parent 의 유효한 인덱스 (즉,index >= 0 && index < getChildCount(parent))인 경우는,null 를 돌려주지 않습니다.

파라미터:
parent - 이 데이터 소스로부터 취득된, 트리내의 노드
반환값:
인덱스 index 에 있는 parent 의 아이

getChildCount

int getChildCount(Object  parent)
parent 의 아이의 수를 돌려줍니다. 노드가 잎의 경우나, 노드가 아이를 가지지 않는 경우는, 0 을 돌려줍니다. parent 는, 이 데이터 소스로부터 그때까지 취득된 노드가 아니면 안됩니다.

파라미터:
parent - 이 데이터 소스로부터 취득된, 트리내의 노드
반환값:
노드 parent 의 아이의 수

isLeaf

boolean isLeaf(Object  node)
node 가 잎인 경우는 true 를 돌려줍니다. node 가 아이를 가지지 않는 경우에서도, 이 메소드는 false 를 돌려줄 수가 있습니다. 예를 들어, 파일 시스템의 디렉토리에 파일이 들어가 있지 않은 경우, 그 디렉토리를 나타내는 노드는 잎이 아닐 뿐만 아니라, 아이도 가지고 있지 않습니다.

파라미터:
node - 이 데이터 소스로부터 취득된, 트리내의 노드
반환값:
node 가 잎의 경우는 true

valueForPathChanged

void valueForPathChanged(TreePath  path,
                         Object  newValue)
newValue 에의 path 에 의해 식별되는 항목의 값을 사용자가 변경하면(자), 메세지로서 송신됩니다. newValue 가 정말로 새로운 값을 의미하는 경우에는, 모델은 treeNodesChanged 이벤트를 송신하지 않으면 안됩니다.

파라미터:
path - 사용자가 변경한 노드에의 패스
newValue - TreeCellEditor 로부터의 새로운 값

getIndexOfChild

int getIndexOfChild(Object  parent,
                    Object  child)
부모의 아이의 인덱스를 돌려줍니다. parent 또는 child 의 어느 쪽인지가 null 의 경우는,-1 을 돌려줍니다. parent 또는 child 의 어느 쪽인지가 이 트리 모델에 속하지 않은 경우도,-1 를 돌려줍니다.

파라미터:
parent - 이 데이터 소스로부터 취득된, 트리내의 노드
child - 대상이 되는 노드
반환값:
부모의 아이의 인덱스. child 또는 parentnull 인지, 이 트리 모델에 속하지 않은 경우는 -1

addTreeModelListener

void addTreeModelListener(TreeModelListener  l)
트리가 변경된 뒤에 송신된 TreeModelEvent 의 청취자를 추가합니다.

파라미터:
l - 추가하는 청취자
관련 항목:
removeTreeModelListener(javax.swing.event.TreeModelListener)

removeTreeModelListener

void removeTreeModelListener(TreeModelListener  l)
이전에 addTreeModelListener 로 추가된 청취자를 삭제합니다.

파라미터:
l - 삭제하는 청취자
관련 항목:
addTreeModelListener(javax.swing.event.TreeModelListener)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.