JavaTM 2
Platform
Std.  Ed.  v1. 4.0

javax.swing.event
클래스 TreeModelEvent

java.lang.Object 
  |
  +--java.util.EventObject 
        |
        +--javax.swing.event.TreeModelEvent
모든 구현 인터페이스:
Serializable

public class TreeModelEvent
extends EventObject

트리 모델의 변경을 기술하는 정보를 캡슐화해, 트리 모델의 청취자로 변경을 통지합니다. 상세 및 예는 「The Java Tutorial」「How to Write a Tree Model Listener」섹션을 참조해 주세요.

경고: 이 클래스의 직렬화 된 오브젝트는 향후의 Swing 릴리스와의 호환성이 없어집니다. 현재의 직렬화의 서포트는 단기 기억이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK 버젼 1.4 이후, 모든 JavaBeans 의 장기 기억용 서포트는 java.beans 패키지에 추가되고 있습니다. 자세한 것은 XMLEncoder 를 참조해 주세요.


필드의 개요
protected  int[] childIndices
          아이가 있던 위치를 지정하는 인덱스입니다.
protected  Object [] children
          삭제된 아이입니다.
protected  TreePath path
          변경된 노드의 부모에게로의 패스입니다.
 
클래스 java.util. EventObject 에서 상속받은 필드
source
 
생성자의 개요
TreeModelEvent (Object  source, Object [] path)
          노드 구조가 하등의 방법으로 변경되었을 때에, 이벤트를 생성하기 위해서 사용합니다.
TreeModelEvent (Object  source, Object [] path, int[] childIndices, Object [] children)
          노드가 변경, 삽입, 또는 삭제되었을 때에, 이벤트를 생성하기 위해서 사용합니다.
TreeModelEvent (Object  source, TreePath  path)
          노드 구조가 하등의 방법으로 변경되었을 때에, 이벤트를 생성하기 위해서 사용합니다.
TreeModelEvent (Object  source, TreePath  path, int[] childIndices, Object [] children)
          노드가 변경, 삽입, 또는 삭제되었을 때에, 이벤트를 생성하기 위해서 사용합니다.
 
메소드의 개요
 int[] getChildIndices ()
          아이 인덱스의 값을 돌려줍니다.
 Object [] getChildren ()
          getChildIndices 에 의해 지정된 위치에서 getPath 에 의해 식별된 노드의 아이의 오브젝트를 돌려줍니다.
 Object [] getPath ()
          이 이벤트가 랩 하는 TreePath 의 인스턴스로부터, 오브젝트의 배열을 취득하기 위한 간이 메소드입니다.
 TreePath getTreePath ()
          treeStructureChanged 를 제외하는 모든 이벤트에 대해서, 변경된 노드의 부모를 돌려줍니다.
 String toString ()
          이 오브젝트의 프로퍼티를 표시 및 식별하는 캐릭터 라인을 돌려줍니다.
 
클래스 java.util. EventObject 에서 상속받은 메소드
getSource
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

path

protected TreePath  path
변경된 노드의 부모에게로의 패스입니다.


childIndices

protected int[] childIndices
아이가 있던 위치를 지정하는 인덱스입니다.


children

protected Object [] children
삭제된 아이입니다.

생성자의 상세

TreeModelEvent

public TreeModelEvent(Object  source,
                      Object [] path,
                      int[] childIndices,
                      Object [] children)
노드가 변경, 삽입, 또는 삭제되었을 때에, 이벤트를 생성하기 위해서 사용합니다. 변경된 항목의 부모에게로의 패스를 Object 의 배열로서 지정합니다. 변경된 오브젝트는 모두, 지정한 부모의 직접적인 아이 (손자는 아니고)인 형제 오브젝트입니다. 삽입, 삭제, 또는 변경을 한 위치는 int 의 배열에 의해 지정됩니다. 배열내의 인덱스는 최하정도로부터 최상정도에의 차례일 필요가 있습니다.

변경의 경우, 모델의 인덱스는 현재 UI 로 표시되고 있는 항목의 인덱스에 정확하게 대응합니다. 그 결과, 인덱스의 차례가 올바른지 어떤지는 너무 중요하게는 되지 않습니다. 그러나, 복수의 삽입 또는 삭제의 나중에는 현재 UI 에 있는 항목은 모델내의 항목으로 대응하고 있습니다. 따라서, 삽입 또는 삭제에서는 인덱스를 적절히 지정하는 것이 중요해집니다.

삽입의 경우, 인덱스는 삽입 후의 트리의 「최종」상태를 나타냅니다. 인덱스는 적절한 순서로 지정할 필요가 있기 (위해)때문에, 가장 자연스러운 처리 방법은 최하정도의 인덱스로부터 최상정도로 향해 삽입을 실시한다고 하는 방법입니다. 처리를 진행시키면서, 삽입 위치를 지정하는 Integer 오브젝트의 Vector 를 증가시키고 나서, Vector 를 int 의 배열로 변환해, 이벤트를 생성합니다. 위치 인덱스가 0 이면, 노드는 리스트의 선두에 삽입됩니다. 위치 인덱스가 리스트의 사이즈와 같으면, 노드는 리스트의 마지막에 「삽입」즉 추가됩니다.

삭제의 경우, 인덱스는 삭제전의 트리의 「초기」상태를 나타냅니다. 인덱스는 적절한 순서로 지정할 필요가 있기 (위해)때문에, 가장 자연스러운 처리 방법은 삭제 카운터를 사용하는 방법입니다. 카운터를 0 에 초기화하고 나서, 리스트의 최하정도로부터 최상정도로 향해 처리를 실시합니다. 삭제를 실시할 때마다, 삭제 카운터의 현재가를, 삭제를 하는 인덱스 위치에 추가해,addElement() 를 사용해 그 결과를 삭제 위치의 Vector 에 추가합니다. 그 후로, 삭제 카운터치를 증가합니다. 이것으로, Vector 에 저장되는 인덱스 위치에는 이전의 모든 삭제의 결과가 반영되어 초기 상태의 트리에서의 각 오브젝트의 위치가 나타내집니다. 최상정도 인덱스로부터 최하정도 인덱스로 향해 처리를 실시해,insertElementAt(Integer, 0) 를 사용해 처리를 진행시키면서, 삭제 위치의 Vector 를 증가시킬 수도 있습니다. 어떻게 초기 위치의 Vector 를 생성해도, 이벤트 생성을 위해서(때문에) Integer 오브젝트의 Vector 를 int 의 배열에 변환할 필요가 있습니다.

주의:


TreeModelEvent

public TreeModelEvent(Object  source,
                      TreePath  path,
                      int[] childIndices,
                      Object [] children)
노드가 변경, 삽입, 또는 삭제되었을 때에, 이벤트를 생성하기 위해서 사용합니다. 변경된 항목의 부모에게로의 패스를 TreePath 오브젝트로서 지정합니다. 인덱스 및 오브젝트의 지정 방법에 대해서는 ? TreeModelEvent(Object, Object[], int[], Object[]) 를 참조해 주세요. 이벤트의 생성을 처리하는 Object. 통상, 이벤트 오브젝트의 생성측은 값에 this 를 건네준다 변경된 항목의 부모에게로의 패스를 지정하는 TreePath 오브젝트 변경된 항목의 인덱스치를 지정하는 int 의 배열 삽입, 삭제, 또는 변경된 오브젝트를 저장하는 Object 의 배열

관련 항목:
TreeModelEvent(Object, Object[], int[], Object[])

TreeModelEvent

public TreeModelEvent(Object  source,
                      Object [] path)
노드 구조가 하등의 방법으로 변경되었을 때에, 이벤트를 생성하기 위해서 사용합니다. 변경된 서브 트리의 루트에의 패스를 Object 의 배열로서 지정합니다. 구조 변경 이벤트는 예를 들어, 노드 교환 위치를 포함한 경우나, 그 노드로부터 시작되는 서브 트리에서의 복수의 삽입 및 삭제를 캡슐화하는 경우가 있습니다. 그 경우는 서브 트리의 다양한 레벨로 변경이 일어날 가능성이 있습니다. 주의:
JTree 는 지정한 노드아래의 모든 노드를 수납하므로, 직접적인 아이만이 가시가 됩니다. 이벤트의 생성을 처리하는 Object. 통상, 이벤트 오브젝트의 생성측은 값에 this 를 건네준다 변경된 서브 트리의 루트에의 패스를 지정하는 Object 의 배열. 배열의 최초의 요소는 루트 노드에 저장되고 있는 Object, 마지막 요소는 변경된 노드에 저장되고 있는 Object

관련 항목:
TreePath

TreeModelEvent

public TreeModelEvent(Object  source,
                      TreePath  path)
노드 구조가 하등의 방법으로 변경되었을 때에, 이벤트를 생성하기 위해서 사용합니다. 변경된 서브 트리의 루트에의 패스를 TreePath 오브젝트로서 지정합니다. 이 이벤트의 사양의 자세한 것은 ? TreeModelEvent(Object, Object[]) 를 참조해 주세요. 이벤트의 생성을 처리하는 Object. 통상, 이벤트 오브젝트의 생성측은 값에 this 를 건네준다 변경점에의 패스를 지정하는 TreePath 오브젝트. DefaultTreeModel 에서는 이 오브젝트는 유저 데이터 오브젝트의 배열을 저장하지만, TreePath 의 서브 클래스에서는 예를 들어 노드 ID 번호 등, 완전히 별개의 기구를 사용하는 일도 가능

관련 항목:
TreeModelEvent(Object, Object[])
메소드의 상세

getTreePath

public TreePath  getTreePath()
treeStructureChanged 를 제외하는 모든 이벤트에 대해서, 변경된 노드의 부모를 돌려줍니다. treeStructureChanged 이벤트에 대해서는 변경된 구조의 상위 오브젝트를 돌려줍니다. 이것과 getChildIndices 를 사용해 영향을 받은 노드의 리스트를 취득합니다.

유일한 예외는 루트를 지정하는 treeNodesChanged 이벤트의 경우입니다. 이 경우는 루트가 돌려주어져getChildIndices 는 null 를 돌려줍니다. 변경된 노드를 지정하는 TreePath 오브젝트

관련 항목:
TreePath.getLastPathComponent()

getPath

public Object [] getPath()
이 이벤트가 랩 하는 TreePath 의 인스턴스로부터, 오브젝트의 배열을 취득하기 위한 간이 메소드입니다. Object 의 배열. 최초의 Object 는 루트에 저장되고 있는 Object, 마지막 오브젝트는 패스에 의해 지정되는 노드에 저장되고 있는 Object


getChildren

public Object [] getChildren()
getChildIndices 에 의해 지정된 위치에서 getPath 에 의해 식별된 노드의 아이의 오브젝트를 돌려줍니다. 이것이 삭제 이벤트의 경우, 돌려주어진 오브젝트는 친노드의 아이가 아닙니다. 이벤트에 의해 지정된 아이를 저장하는 Object 의 배열

관련 항목:
getPath() , getChildIndices()

getChildIndices

public int[] getChildIndices()
아이 인덱스의 값을 돌려줍니다. 이것이 삭제 이벤트인 경우, 인덱스는 항목이 삭제된 초기 리스트에서의 위치를 가리킵니다. 삽입의 경우는 인덱스는 항목이 추가된 최종 리스트에서의 위치를 가리킵니다. 노드 변경의 경우는 인덱스는 변경된 노드의 위치를 가리킵니다. 이벤트에 의해 지정된 아이의 인덱스 위치를 저장하는 int 의 배열


toString

public String  toString()
이 오브젝트의 프로퍼티를 표시 및 식별하는 캐릭터 라인을 돌려줍니다. 이 오브젝트의 캐릭터 라인 표현

오버라이드(override):
클래스 EventObject 내의 toString
반환값:
이 EventObject 의 String 표현

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.