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_SELECTION
및 DISCONTIGUOUS_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 에 대응하는 행이 됩니다.
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
- 삭제하는 청취자
버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다. Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.