JavaTM Platform
Standard Ed. 6

javax.swing.tree
인터페이스 TreeSelectionModel

기존의 구현 클래스의 일람:
DefaultTreeSelectionModel , JTree.EmptySelectionModel


public interface TreeSelectionModel

이 인터페이스는 트리 컴퍼넌트의 현재의 선택 상황을 나타냅니다. 트리 선택 모델의 상세 및 사용예는, 「The Java Tutorial」의「How to Use Trees」섹션을 참조해 주세요.

트리 선택의 상황은 TreePath 의 설정, 또 옵션으로 정수 설정에 의해 식별됩니다. TreePath 로부터 정수에는 RowMapper 의 인스턴스에 의해 매핑 됩니다. TreeSelectionModel 가 RowMapper 를 올바르게 조작할 필요는 없고, RowMapper 가 없는 경우는 getSelectionRows 는 null 를 돌려줍니다.

TreeSelectionModel 는 단일 패스 (SINGLE_TREE_SELECTION), 복수의 연속 패스 (CONTIGUOUS_TREE_SELECTION), 복수의 비연속 패스 (DISCONTIGUOUS_TREE_SELECTION)를 사용할 수 있도록(듯이) 설정할 수 있습니다. RowMapper 를 사용해 TreePath 가 연속하고 있는지 어떤지를 판정합니다. RowMapper 가 없는 경우는,CONTIGUOUS_TREE_SELECTIONDISCONTIGUOUS_TREE_SELECTION 는 똑같이 동작해, TreeSelectionModel 에는 패스를 몇개에서도 포함할 수 있게 됩니다.

CONTIGUOUS_TREE_SELECTION 의 선택 모델은, 언제라도 패스는 변경 성과 (setSelectionPath,addSelectionPath ... 에 의해), TreePath 를 재차 판정해 연속으로 할 수도 있습니다. resetRowSelection 를 호출해 TreePath 의 판정을 할 수도 있습니다. 비연속 TreePath 의 설정을 연속 설정에 매핑 하는 방법은, 특정의 정책를 적용하기 위해서 이 인터페이스의 구현자에게 일임 되고 있습니다.

구현해서는, 선택 범위에 추가된 중복 하는 TreePath 를 결합할 필요가 있습니다. 예를 들어, 다음의 코드를 실행했다고 합니다

   TreePath[] paths = new TreePath[] { treePath, treePath };
   treeSelectionModel.setSelectionPaths(paths);
 
하나의 패스 treePath 만이 선택되도록(듯이) 해,treePath 의 카피가 2개 선택되지 않게 할 필요가 있습니다.

리드 TreePath 는 추가 또는 설정된 마지막 패스입니다. 따라서, 리드행은 RowMapper 에 의해 판정된 TreePath 에 대응하는 행이 됩니다.


필드의 개요
static int CONTIGUOUS_TREE_SELECTION
          선택 범위의 항목은 연속하고 있을 필요가 있습니다.
static int DISCONTIGUOUS_TREE_SELECTION
          선택 범위의 항목수에 제한은 없고, 각 항목은 연속하고 있을 필요는 없습니다.
static int SINGLE_TREE_SELECTION
          선택 범위에는, 동시에 복수의 패스를 지정할 수 없습니다.
 
메소드의 개요
 void addPropertyChangeListener (PropertyChangeListener  listener)
          PropertyChangeListener 를 청취자 리스트에 추가합니다.
 void addSelectionPath (TreePath  path)
          현재의 선택 범위에 패스를 추가합니다.
 void addSelectionPaths (TreePath [] paths)
          현재의 선택 범위에 패스를 추가합니다.
 void addTreeSelectionListener (TreeSelectionListener  x)
          선택된 TreePath 의 설정이 변경될 때마다 통지를 받는 청취자의 리스트에 x 를 추가합니다.
 void clearSelection ()
          현재의 선택 범위를 비웁니다.
 TreePath getLeadSelectionPath ()
          추가된 마지막 패스를 돌려줍니다.
 int getLeadSelectionRow ()
          선택 범위의 리드 인덱스를 돌려줍니다.
 int getMaxSelectionRow ()
          선택한 현재의 TreePath 의 설정의 RowMapper 로부터 취득한 최대치를 돌려줍니다.
 int getMinSelectionRow ()
          선택한 현재의 TreePath 의 설정의 RowMapper 로부터 취득한 최소치를 돌려줍니다.
 RowMapper getRowMapper ()
          TreePath 를 행에 맵 할 수 있는 RowMapper 의 인스턴스를 돌려줍니다.
 int getSelectionCount ()
          선택되고 있는 패스의 수를 돌려줍니다.
 int getSelectionMode ()
          현재의 선택 모드를 돌려줍니다.
 TreePath getSelectionPath ()
          선택 범위의 선두의 패스를 돌려줍니다.
 TreePath [] getSelectionPaths ()
          선택 범위의 패스를 돌려줍니다.
 int[] getSelectionRows ()
          현재 선택 떠날 수 있어 모든 행을 돌려줍니다.
 boolean isPathSelected (TreePath  path)
          패스 path 가 현재의 선택 범위에 있는 경우에 true 를 돌려줍니다.
 boolean isRowSelected (int row)
          row 로 식별되는 행이 선택되고 있는 경우에 true 를 돌려줍니다.
 boolean isSelectionEmpty ()
          선택 범위가 현재빈 상태(empty)의 경우에 true 를 돌려줍니다.
 void removePropertyChangeListener (PropertyChangeListener  listener)
          PropertyChangeListener 를 청취자 리스트로부터 삭제합니다.
 void removeSelectionPath (TreePath  path)
          선택 범위로부터 패스를 삭제합니다.
 void removeSelectionPaths (TreePath [] paths)
          선택 범위로부터 패스를 삭제합니다.
 void removeTreeSelectionListener (TreeSelectionListener  x)
          선택된 TreePath 의 설정이 변경될 때마다 통지를 받는 청취자의 리스트로부터 x 를 삭제합니다.
 void resetRowSelection ()
          이 객체의 TreePath 로부터 행에의 매핑을 갱신합니다.
 void setRowMapper (RowMapper  newMapper)
          RowMapper 의 인스턴스를 설정합니다.
 void setSelectionMode (int mode)
          선택 모드를 설정합니다.
 void setSelectionPath (TreePath  path)
          선택 범위를 패스로 설정합니다.
 void setSelectionPaths (TreePath [] paths)
          선택 범위를 패스로 설정합니다.
 

필드의 상세

SINGLE_TREE_SELECTION

static final int SINGLE_TREE_SELECTION
선택 범위에는, 동시에 복수의 패스를 지정할 수 없습니다.

관련 항목:
정수 필드치

CONTIGUOUS_TREE_SELECTION

static final int CONTIGUOUS_TREE_SELECTION
선택 범위의 항목은 연속하고 있을 필요가 있습니다. 이것이 적용되는 것은, RowMapper 의 인스턴스가 제공되는 경우만입니다. 따라서, RowMapper 가 설정되어 있지 않으면 DISCONTIGUOUS_TREE_SELECTION 와 같은 동작을 합니다.

관련 항목:
정수 필드치

DISCONTIGUOUS_TREE_SELECTION

static final int DISCONTIGUOUS_TREE_SELECTION
선택 범위의 항목수에 제한은 없고, 각 항목은 연속하고 있을 필요는 없습니다.

관련 항목:
정수 필드치
메소드의 상세

setSelectionMode

void setSelectionMode(int mode)
선택 모드를 설정합니다. 이 모드는, SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION 의 어떤 것이나 1개일 필요가 있습니다.

현재의 선택 범위가 새로운 모드에 대해서 유효하지 않은 경우는 선택 범위를 변경할 수 있습니다. 예를 들어, 모드가 SINGLE_TREE_SELECTION 으로 변경했을 때에 3 개의 TreePath 가 선택되었을 경우, 하나의 TreePath 만을 선택할 수 있습니다. 어느 TreePath 를 선택할까는 사용하는 특정의 구현에 의해 정해집니다.


getSelectionMode

int getSelectionMode()
현재의 선택 모드를 돌려줍니다. 이 모델은,SINGLE_TREE_SELECTION,CONTIGUOUS_TREE_SELECTION,DISCONTIGUOUS_TREE_SELECTION 의 어떤 것인가가 됩니다.


setSelectionPath

void setSelectionPath(TreePath  path)
선택 범위를 패스로 설정합니다. 이것이 변경을 나타내는 경우는, TreeSelectionListeners 가 통지를 받습니다. path 가 null 의 경우는 clearSelection 를 호출했을 경우와 같게 됩니다.

파라미터:
path - 선택하는 새로운 패스

setSelectionPaths

void setSelectionPaths(TreePath [] paths)
선택 범위를 패스로 설정합니다. 이것이 변경을 나타내는 경우는, TreeSelectionListeners 가 통지를 받습니다. paths 가 null 의 경우, 이것은 clearSelection 를 호출하는 것과 같은 효과가 있습니다.

파라미터:
paths - 새로운 선택 범위

addSelectionPath

void addSelectionPath(TreePath  path)
현재의 선택 범위에 패스를 추가합니다. 현재 패스가 선택 범위에 없는 경우는, TreeSelectionListeners 가 통지를 받습니다. path 가 null 의 경우는 영향은 없습니다.

파라미터:
path - 현재의 선택 범위에 추가하는 새로운 패스

addSelectionPaths

void addSelectionPaths(TreePath [] paths)
현재의 선택 범위에 패스를 추가합니다. 현재 패스가 선택 범위에 없는 경우는, TreeSelectionListeners 가 통지를 받습니다. path 가 null 의 경우는 영향은 없습니다.

파라미터:
paths - 현재의 선택 범위에 추가하는 새로운 패스

removeSelectionPath

void removeSelectionPath(TreePath  path)
선택 범위로부터 패스를 삭제합니다. 패스가 선택 범위에 있는 경우는, TreeSelectionListeners 가 통지를 받습니다. path 가 null 의 경우는 영향은 없습니다.

파라미터:
path - 선택 범위로부터 삭제하는 패스

removeSelectionPaths

void removeSelectionPaths(TreePath [] paths)
선택 범위로부터 패스를 삭제합니다. paths 내의 패스중 한쪽이 선택 범위에 있는 경우는, TreeSelectionListeners 가 통지를 받습니다. paths 가 null 의 경우, 이 메소드는 영향을 받지 않습니다.

파라미터:
paths - 선택 범위로부터 삭제하는 패스

getSelectionPath

TreePath  getSelectionPath()
선택 범위의 선두의 패스를 돌려줍니다. 선두의 패스의 정의는 구현자에게 맡고 있어 반드시 RowMapper 가 판정한 최소 정수치를 가지는 TreePath 일 필요는 없습니다.


getSelectionPaths

TreePath [] getSelectionPaths()
선택 범위의 패스를 돌려줍니다. 현재 아무것도 선택되어 있지 않은 경우는, null 또는 빈 상태(empty)의 배열을 돌려줍니다.


getSelectionCount

int getSelectionCount()
선택되고 있는 패스의 수를 돌려줍니다.


isPathSelected

boolean isPathSelected(TreePath  path)
패스 path 가 현재의 선택 범위에 있는 경우에 true 를 돌려줍니다.


isSelectionEmpty

boolean isSelectionEmpty()
선택 범위가 현재빈 상태(empty)의 경우에 true 를 돌려줍니다.


clearSelection

void clearSelection()
현재의 선택 범위를 비웁니다. 이것이 현재의 선택 범위의 변경을 나타내는 경우는, 선택 청취자가 통지를 받습니다.


setRowMapper

void setRowMapper(RowMapper  newMapper)
RowMapper 의 인스턴스를 설정합니다. 이 인스턴스를 사용하는 것에 의해, 어느 행이 어느 TreePath 에 대응하는지를 판정합니다.


getRowMapper

RowMapper  getRowMapper()
TreePath 를 행에 맵 할 수 있는 RowMapper 의 인스턴스를 돌려줍니다.


getSelectionRows

int[] getSelectionRows()
현재 선택 떠날 수 있어 모든 행을 돌려줍니다. TreePath 가 선택되어 있지 않은 경우, 또는 RowMapper 가 설정되어 있지 않은 경우는, null 또는 빈 상태(empty)의 배열을 돌려줍니다.


getMinSelectionRow

int getMinSelectionRow()
선택한 현재의 TreePath 의 설정의 RowMapper 로부터 취득한 최소치를 돌려줍니다. 아무것도 선택되어 있지 않은 경우, 또는 RowMapper 가 없는 경우는,-1 을 돌려줍니다.


getMaxSelectionRow

int getMaxSelectionRow()
선택한 현재의 TreePath 의 설정의 RowMapper 로부터 취득한 최대치를 돌려줍니다. 아무것도 선택되어 있지 않은 경우, 또는 RowMapper 가 없는 경우는,-1 을 돌려줍니다.


isRowSelected

boolean isRowSelected(int row)
row 로 식별되는 행이 선택되고 있는 경우에 true 를 돌려줍니다.


resetRowSelection

void resetRowSelection()
이 객체의 TreePath 로부터 행에의 매핑을 갱신합니다. 이 메소드는, 예를 들어, 노드가 확장되었을 경우와 같이 TreePath 로부터 정수에의 매핑이 변경되었을 때에 불려 갑니다.

일반적으로은 호출할 필요는 없습니다. JTree 와 거기에 관련하는 청취자가 호출합니다. 독자적인 뷰크라스를 구현중의 경우는 스스로 호출할 필요가 있습니다.


getLeadSelectionRow

int getLeadSelectionRow()
선택 범위의 리드 인덱스를 돌려줍니다. 이것은, 마지막에 추가된 인덱스입니다.


getLeadSelectionPath

TreePath  getLeadSelectionPath()
추가된 마지막 패스를 돌려줍니다. 이 패스는 JTree 가 보관 유지하고 있는 leadSelectionPath 의 프로퍼티과는 다른 경우가 있습니다.


addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener  listener)
PropertyChangeListener 를 청취자 리스트에 추가합니다. 청취자는, 모든 프로퍼티에 대해서 등록됩니다.

PropertyChangeEvent 는, 선택 범위 모드가 변경되면(자) 트리거됩니다.

파라미터:
listener - 추가하는 PropertyChangeListener

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener  listener)
PropertyChangeListener 를 청취자 리스트로부터 삭제합니다. 모든 프로퍼티으로 등록된 PropertyChangeListener 를 삭제합니다.

파라미터:
listener - 삭제하는 PropertyChangeListener

addTreeSelectionListener

void addTreeSelectionListener(TreeSelectionListener  x)
선택된 TreePath 의 설정이 변경될 때마다 통지를 받는 청취자의 리스트에 x 를 추가합니다.

파라미터:
x - 추가되는 새로운 청취자

removeTreeSelectionListener

void removeTreeSelectionListener(TreeSelectionListener  x)
선택된 TreePath 의 설정이 변경될 때마다 통지를 받는 청취자의 리스트로부터 x 를 삭제합니다.

파라미터:
x - 삭제하는 청취자

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