|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
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
的兩個副本。
前導 TreePath 是添加(或設置)的最後一個路徑。前導行則是對應於 TreePath 的行,由 RowMapper 確定。
欄位摘要 | |
---|---|
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)
向偵聽器列表添加 x,每次選定的 TreePath 集合發生更改時,這些偵聽器都會得到通知。 |
void |
clearSelection()
清空當前的選擇。 |
TreePath |
getLeadSelectionPath()
返回添加的最後一個路徑。 |
int |
getLeadSelectionRow()
返回前導選擇索引。 |
int |
getMaxSelectionRow()
返回從 RowMapper 獲取的已選的 TreePath 當前集合中的最大值。 |
int |
getMinSelectionRow()
返回從 RowMapper 獲取的已選的 TreePath 當前集合中的最小值。 |
RowMapper |
getRowMapper()
返回能夠將 TreePath 映射到行的 RowMapper 實例。 |
int |
getSelectionCount()
返回選擇的路徑數。 |
int |
getSelectionMode()
返回當前選擇的網要( SINGLE_TREE_SELECTION 、CONTIGUOUS_TREE_SELECTION 或 DISCONTIGUOUS_TREE_SELECTION 之一)。 |
TreePath |
getSelectionPath()
返回選擇中的第一個路徑。 |
TreePath[] |
getSelectionPaths()
返回選擇中的路徑。 |
int[] |
getSelectionRows()
返回所有當前已選的行。 |
boolean |
isPathSelected(TreePath path)
如果路徑 path 在當前的選擇中,則返回 true。 |
boolean |
isRowSelected(int row)
如果選擇了由 row 標識的行,則返回 true。 |
boolean |
isSelectionEmpty()
如果選擇當前為空,則返回 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)
設置選擇模型,它必須是 SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION 或 DISCONTIGUOUS_TREE_SELECTION 之一。 |
void |
setSelectionPath(TreePath path)
為該選擇設置路徑。 |
void |
setSelectionPaths(TreePath[] paths)
為該選擇設置路徑。 |
欄位詳細資訊 |
---|
static final int SINGLE_TREE_SELECTION
static final int CONTIGUOUS_TREE_SELECTION
static final int DISCONTIGUOUS_TREE_SELECTION
方法詳細資訊 |
---|
void setSelectionMode(int mode)
如果對於新的網要當前選擇無效,則此方法可以更改這一選擇。例如,如果將網要更改為 SINGLE_TREE_SELECTION
時選中三個 TreePath,則只有一個 TreePath 仍然被選中。由特定的實作來決定保留選定哪一個 TreePath。
int getSelectionMode()
SINGLE_TREE_SELECTION
、CONTIGUOUS_TREE_SELECTION
或 DISCONTIGUOUS_TREE_SELECTION
之一)。
void setSelectionPath(TreePath path)
path
為 null,則這與調用 clearSelection
具有相同的效果。
path
- 要選擇的新路徑void setSelectionPaths(TreePath[] paths)
paths
為 null,則這與調用 clearSelection
具有相同的效果。
paths
- 新的選擇void addSelectionPath(TreePath path)
path
為 null,則此方法無效。
path
- 添加到當前選擇中的新路徑void addSelectionPaths(TreePath[] paths)
paths
為 null,則通此方法無效。
paths
- 添加到當前選擇的新路徑void removeSelectionPath(TreePath path)
path
為 null,則此方法無效。
path
- 要從選擇中移除的路徑void removeSelectionPaths(TreePath[] paths)
paths
中的任何路徑在選擇中,則通知 TreeSelectionListener。如果 paths
為 null,則此方法無效。
paths
- 要從選擇中移除的路徑TreePath getSelectionPath()
RowMapper
確定的具有最小整數值的 TreePath。
TreePath[] getSelectionPaths()
int getSelectionCount()
boolean isPathSelected(TreePath path)
path
在當前的選擇中,則返回 true。
boolean isSelectionEmpty()
void clearSelection()
void setRowMapper(RowMapper newMapper)
RowMapper getRowMapper()
int[] getSelectionRows()
int getMinSelectionRow()
int getMaxSelectionRow()
boolean isRowSelected(int row)
row
標識的行,則返回 true。
void resetRowSelection()
通常不必調用此方法;JTree 及其相關的偵聽器將為您調用它。如果您正在實作自已的 view 類別,則必須調用它。
int getLeadSelectionRow()
TreePath getLeadSelectionPath()
void addPropertyChangeListener(PropertyChangeListener listener)
當選擇網要更改時,將觸發 PropertyChangeEvent。
listener
- 要添加的 PropertyChangeListenervoid removePropertyChangeListener(PropertyChangeListener listener)
listener
- 要移除的 PropertyChangeListenervoid addTreeSelectionListener(TreeSelectionListener x)
x
- 要添加的新偵聽器void removeTreeSelectionListener(TreeSelectionListener x)
x
- 要移除的偵聽器
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。