JavaTM Platform
Standard Ed. 6

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 Version 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[]) 를 참조해 주세요.

파라미터:
source - 이벤트의 생성을 위한 Object (일반적으로, 이벤트 객체의 생성측은 값에 this 를 건네준다)
path - 변경된 항목의 부모에게로의 패스를 지정하는 TreePath 객체
childIndices - 변경된 항목의 인덱스치를 지정하는 int 배열
children - 삽입, 삭제, 또는 변경된 객체를 포함하는 Object 의 배열
관련 항목:
TreeModelEvent(Object, Object[], int[], Object[])

TreeModelEvent

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

파라미터:
source - 이벤트의 생성을 위한 Object (일반적으로, 이벤트 객체의 생성측은 값에 this 를 건네준다)
path - 변경된 서브 트리의 루트에의 패스를 나타내는 Object 의 배열. 배열의 최초의 요소는 루트 노드에 포함되고 있다 객체, 마지막 요소는 변경된 노드에 포함되고 있다 객체
관련 항목:
TreePath

TreeModelEvent

public TreeModelEvent(Object  source,
                      TreePath  path)
노드 구조가 하등의 방법으로 변경되었을 때에, 이벤트를 생성하기 위해서 사용합니다. 변경된 서브 트리의 루트에의 패스를 TreePath 객체로서 지정합니다. 이 이벤트의 스펙의 자세한 것은,TreeModelEvent(Object, Object[]) 를 참조해 주세요.

파라미터:
source - 이벤트의 생성을 위한 Object (일반적으로, 이벤트 객체의 생성측은 값에 this 를 건네준다)
path - 변경점에의 패스를 나타내는 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 는 루트에 포함되고 있어, 마지막 객체는 패스로 나타나는 노드에 포함되고 있다

getChildren

public Object [] getChildren()
getChildIndices 로 지정된 위치에 있는,getPath 로 나타나는 노드의 아이의 객체를 돌려줍니다. 이것이 삭제 이벤트인 경우, 반환되는 객체는 그 친노드의 아이가 아닙니다.

반환값:
이벤트에 의해 지정되는 아이를 포함한다 Object 의 배열
관련 항목:
getPath() , getChildIndices()

getChildIndices

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

반환값:
이벤트에 의해 지정된 아이의 인덱스 위치를 포함하는 int 배열

toString

public String  toString()
이 객체의 프로퍼티을 표시 및 식별하는 캐릭터 라인을 돌려줍니다.

오버라이드(override):
클래스 EventObject 내의 toString
반환값:
이 객체의 캐릭터 라인 표현

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 도 참조해 주세요.