|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.tree.DefaultTreeModel
public class DefaultTreeModel
使用 TreeNodes 的簡單階層樹資料模型。有關使用 DefaultTreeModel 的更多資訊和範例,請參閱 The Java Tutorial 中的 How to Use Trees。
警告:此類別的序列化物件將與以後的 Swing 版本不相容。當前的序列化支持適用於短期存儲或運行相同 Swing 版本的應用程序之間的 RMI。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
欄位摘要 | |
---|---|
protected boolean |
asksAllowsChildren
確定 isLeaf 方法如何判斷一個節點是否為葉節點。 |
protected EventListenerList |
listenerList
偵聽器。 |
protected TreeNode |
root
階層樹的根。 |
建構子摘要 | |
---|---|
DefaultTreeModel(TreeNode root)
創建其中任何節點都可以有子節點的階層樹。 |
|
DefaultTreeModel(TreeNode root,
boolean asksAllowsChildren)
創建一棵階層樹,指定某個節點是否可以有子節點,或者是否僅某些節點可以有子節點。 |
方法摘要 | ||
---|---|---|
void |
addTreeModelListener(TreeModelListener l)
為階層樹更改後發佈的 TreeModelEvent 添加偵聽器。 |
|
boolean |
asksAllowsChildren()
告知如何確定葉節點。 |
|
protected void |
fireTreeNodesChanged(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件型別的通知的已註冊偵聽器。 |
|
protected void |
fireTreeNodesInserted(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件型別的通知的已註冊偵聽器。 |
|
protected void |
fireTreeNodesRemoved(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件型別的通知的已註冊偵聽器。 |
|
protected void |
fireTreeStructureChanged(Object source,
Object[] path,
int[] childIndices,
Object[] children)
通知所有需要此事件型別的通知的已註冊偵聽器。 |
|
Object |
getChild(Object parent,
int index)
返回父節點的子節點陣列中索引 index 處的 parent 的子節點。 |
|
int |
getChildCount(Object parent)
返回 parent 的子節點數。 |
|
int |
getIndexOfChild(Object parent,
Object child)
返回父節點中子節點的索引。 |
|
|
getListeners(Class<T> listenerType)
返回當前已在此模型上註冊為 FooListener 的所有物件組成的陣列。 |
|
TreeNode[] |
getPathToRoot(TreeNode aNode)
向上建構節點的父節點一直到根節點(包括根節點),其中原始節點是返回陣列中的最後一個元素。 |
|
protected TreeNode[] |
getPathToRoot(TreeNode aNode,
int depth)
向上建構節點的父節點一直到根節點(包括根節點),其中原始節點是返回陣列中的最後一個元素。 |
|
Object |
getRoot()
返回階層樹的根。 |
|
TreeModelListener[] |
getTreeModelListeners()
返回在此模型上註冊的所有階層樹模型偵聽器組成的陣列。 |
|
void |
insertNodeInto(MutableTreeNode newChild,
MutableTreeNode parent,
int index)
對它進行調用,以便在父節點的子節點中的 index 位置插入 newChild。 |
|
boolean |
isLeaf(Object node)
返回指定的節點是否為葉節點。 |
|
void |
nodeChanged(TreeNode node)
更改節點在階層樹中的表示方式之後,調用此方法。 |
|
void |
nodesChanged(TreeNode node,
int[] childIndices)
更改由 childIndicies 標識的子物件在階層樹中的表示方式之後,調用此方法。 |
|
void |
nodeStructureChanged(TreeNode node)
如果完全更改了節點的子節點、子節點的子節點、依此類別推,則調用此方法。 |
|
void |
nodesWereInserted(TreeNode node,
int[] childIndices)
將某些 TreeNodes 插入節點之後,調用此方法。 |
|
void |
nodesWereRemoved(TreeNode node,
int[] childIndices,
Object[] removedChildren)
從節點移除一些 TreeNodes 之後,調用此方法。 |
|
void |
reload()
如果已修改此模型依賴的 TreeNode ,則調用此方法。 |
|
void |
reload(TreeNode node)
如果已修改此模型依賴的 TreeNode ,則調用此方法。 |
|
void |
removeNodeFromParent(MutableTreeNode node)
通知它從其父節點中移除節點。 |
|
void |
removeTreeModelListener(TreeModelListener l)
移除以前使用 addTreeModelListener() 添加的偵聽器。 |
|
void |
setAsksAllowsChildren(boolean newValue)
通過向 TreeNodes 詢問 getAllowsChildren() 或 isLeaf(),設置是否測試無葉性。 |
|
void |
setRoot(TreeNode root)
將根設置為 root 。 |
|
void |
valueForPathChanged(TreePath path,
Object newValue)
此方法設置由路徑標識的 TreeNode 的使用者物件,共時送更改的節點。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected TreeNode root
protected EventListenerList listenerList
protected boolean asksAllowsChildren
isLeaf
方法如何判斷一個節點是否為葉節點。如果為 true,並且節點不允許有子節點,則該節點是葉節點。(如果它允許有子節點,則它不是葉節點,即使不存在任何子節點也是這樣。)例如,讓您區分檔案系統中的目錄 節點和檔案 節點。
如果此值為 false,則沒有子節點的任何節點都是葉節點,並且任何節點都可以獲取子節點。
TreeNode.getAllowsChildren()
,
TreeModel.isLeaf(java.lang.Object)
,
setAsksAllowsChildren(boolean)
建構子詳細資訊 |
---|
public DefaultTreeModel(TreeNode root)
root
- 作為階層樹的根的 TreeNode 物件DefaultTreeModel(TreeNode, boolean)
public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
root
- 作為階層樹的根的 TreeNode 物件asksAllowsChildren
- 一個布林值,如果任何節點都可以有子節點,則為 false,如果詢問每個節點看是否有子節點,則為 trueasksAllowsChildren
方法詳細資訊 |
---|
public void setAsksAllowsChildren(boolean newValue)
public boolean asksAllowsChildren()
asksAllowsChildren
public void setRoot(TreeNode root)
root
。root
為 null 暗示階層樹不顯示任何內容,並且是合法的。
public Object getRoot()
TreeModel
中的 getRoot
public int getIndexOfChild(Object parent, Object child)
null
,則返回 -1。
TreeModel
中的 getIndexOfChild
parent
- 從此資料源獲取的階層樹中的節點child
- 使用者需要的節點
null
,則返回 -1public Object getChild(Object parent, int index)
TreeModel
中的 getChild
parent
- 從此資料源獲取的階層樹中的節點
public int getChildCount(Object parent)
TreeModel
中的 getChildCount
parent
- 從此資料源獲取的階層樹中的節點
public boolean isLeaf(Object node)
askAllowsChildren
設置。
TreeModel
中的 isLeaf
node
- 要檢查的節點
asksAllowsChildren
,
TreeModel.isLeaf(java.lang.Object)
public void reload()
TreeNode
,則調用此方法。該模型將通知其所有偵聽器該模型已更改。
public void valueForPathChanged(TreePath path, Object newValue)
TreeModel
中的 valueForPathChanged
path
- 使用者已更改的節點的路徑newValue
- TreeCellEditor 的新值public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
public void removeNodeFromParent(MutableTreeNode node)
public void nodeChanged(TreeNode node)
public void reload(TreeNode node)
TreeNode
,則調用此方法。該模型將通知其所有偵聽器給定節點下面的模型已更改。
node
- 其下面的模型已更改的節點public void nodesWereInserted(TreeNode node, int[] childIndices)
public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
public void nodesChanged(TreeNode node, int[] childIndices)
public void nodeStructureChanged(TreeNode node)
public TreeNode[] getPathToRoot(TreeNode aNode)
aNode
- 獲取其路徑的 TreeNodeprotected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
aNode
- 要獲取其路徑的 TreeNodedepth
- 提供對根(通過遞歸調用)執行的步驟數的 int,用於確定返回的陣列的大小
public void addTreeModelListener(TreeModelListener l)
TreeModel
中的 addTreeModelListener
l
- 要添加的偵聽器removeTreeModelListener(javax.swing.event.TreeModelListener)
public void removeTreeModelListener(TreeModelListener l)
TreeModel
中的 removeTreeModelListener
l
- 要移除的偵聽器addTreeModelListener(javax.swing.event.TreeModelListener)
public TreeModelListener[] getTreeModelListeners()
TreeModelListener
,如果當前沒有註冊任何階層樹模型偵聽器,則返回一個空陣列addTreeModelListener(javax.swing.event.TreeModelListener)
,
removeTreeModelListener(javax.swing.event.TreeModelListener)
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 更改的節點path
- 到根節點的路徑childIndices
- 更改的元素的索引children
- 更改的元素EventListenerList
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 插入新元素的節點path
- 到根節點的路徑childIndices
- 新元素的索引children
- 新元素EventListenerList
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 移除元素的節點path
- 到根節點的路徑childIndices
- 移除元素的索引children
- 移除的元素EventListenerList
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
source
- 從該節點開始階層樹模型已更改的節點path
- 到根節點的路徑childIndices
- 受影響的元素的索引children
- 受影響的元素EventListenerList
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener
的所有物件組成的陣列。FooListener
是用 addFooListener
方法註冊的。
可以使用 class 文字值來指定 listenerType
參數,如 FooListener.class
。例如,可以使用下面的程式碼查詢 DefaultTreeModel
m
的階層樹模型偵聽器:
TreeModelListener[] tmls = (TreeModelListener[])(m.getListeners(TreeModelListener.class));如果不存在這樣的偵聽器,則此方法將返回一個空陣列。
listenerType
- 所請求偵聽器的型別;該參數應該指定一個從 java.util.EventListener
繼承的介面
FooListener
的所有物件的陣列,如果沒有添加這樣的偵聽器,則返回一個空陣列
ClassCastException
- 如果 listenerType
沒有指定實作 java.util.EventListener
的類別或介面getTreeModelListeners()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。