|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.EventObject javax.swing.event.TreeModelEvent
public class TreeModelEvent
封裝描述階層樹模型更改的資訊,並用於通知偵聽更改的階層樹模型偵聽器。有關更多的資訊和範例,請參閱 The Java Tutorial 中的 How to Write a Tree Model Listener 一節。
警告:此類別的序列化物件將與以後的 Swing 版本不相容。當前的序列化支持適用於短期存儲或運行相同 Swing 版本的應用程序之間的 RMI。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
欄位摘要 | |
---|---|
protected int[] |
childIndices
標識子節點所在位置的索引。 |
protected Object[] |
children
已被移除的子節點。 |
protected TreePath |
path
到達已更改節點的父節點的路徑。 |
從類別 java.util.EventObject 繼承的欄位 |
---|
source |
建構子摘要 | |
---|---|
TreeModelEvent(Object source,
Object[] path)
用來在節點結構以某種方法發生更改時創建一個事件,將到達已修改子階層樹的根的路徑標識為一個 Object 陣列。 |
|
TreeModelEvent(Object source,
Object[] path,
int[] childIndices,
Object[] children)
用來在節點已更改、插入或移除時創建一個事件,將到達已修改項的父級的路徑標識為一個 Object 陣列。 |
|
TreeModelEvent(Object source,
TreePath path)
用來在節點結構以某種方法發生更改時創建一個事件,將到達已修改子階層樹的根的路徑標識為一個 TreePath 物件。 |
|
TreeModelEvent(Object source,
TreePath path,
int[] childIndices,
Object[] children)
用來在節點已更改、插入或移除時創建一個事件,將到達已修改項的父級的路徑標識為一個 TreePath 物件。 |
方法摘要 | |
---|---|
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 |
欄位詳細資訊 |
---|
protected TreePath path
protected int[] childIndices
protected Object[] children
建構子詳細資訊 |
---|
public TreeModelEvent(Object source, Object[] path, int[] childIndices, Object[] children)
int
陣列指定。該陣列中的索引必須是有序的,從最低到最高。
對於更改操作,模型中的索引完全對應於當前顯示在 UI 中的項的索引。因此,如果索引沒有按其正確的順序排列實際上也沒有多大關係。但在多次執行插入或刪除操作以後,UI 中當前存在的項不再對應於模型中的項。因此,為插入和刪除操作正確地指定索引很關鍵。
對於插入操作,在執行插入操作之後,索引表示階層樹的最終 狀態。因為必須按順序指定索引,所以最自然的處理方法是從最低索引處開始執行插入操作,向最高索引處移動。在此過程中累計指定插入位置的 Integer
物件的 Vector,然後將該 Vector 轉換成一個 int
陣列,以創建事件。當位置索引等於零時,在列表的開始處插入節點。當位置索引等於列表的大小時,在列表的結尾處“插入”(追加)節點。
對於刪除操作,在執行刪除操作之前,索引表示階層樹的最初 狀態。因為必須按順序指定索引,所以最自然的處理方法是使用一個刪除計數器 (delete-counter)。先將計數器初始化為零,然後從最低索引到最高索引對列表進行初始化。每執行一次刪除操作,就將刪除計數器的當前值添加到執行刪除的索引位置,然後使用 addElement()
將所得的結果追加到刪除位置的 Vector 中。然後將刪除計數器加 1。所以存儲在 Vector 中的索引位置可以反映所有以前的刪除操作的效果,因此它們表示初始階層樹中每個物件的位置。(還可以從最高索引開始,反向運行到最低索引,並在此過程中使用 insertElementAt(Integer, 0)
累計刪除位置的 Vector。)不過,先要產生初始位置的 Vector,然後將 Integer
物件的 Vector 轉換成一個 int
陣列,以創建事件。
註:
DefaultTreeModel
類別中的 insertNodeInto
方法類似,insertElementAt
在索引與向量的大小比對時追加 Vector
。所以即使在向量為空時也可以使用 insertElementAt(Integer, 0)
。
null
。
source
- 對產生該事件負責的 Object(事件物件的創建者通常傳遞 this
作為其值)path
- 指定到達已修改項父級的路徑的 Object 陣列,該陣列的第一個元素是存儲在根節點上的 Object,最後一個元素是存儲在父節點上的 ObjectchildIndices
- 指定已移除項的索引值的 int
陣列。索引必須按存儲順序排列,從最低索引到最高索引children
- 套件含已插入、移除或更改物件的 Object 陣列TreePath
public TreeModelEvent(Object source, TreePath path, int[] childIndices, Object[] children)
TreeModelEvent(Object,Object[],int[],Object[])
。
source
- 對產生該事件負責的 Object(事件物件的創建者通常傳遞 this
作為其值)path
- 標識到達已修改項父級的路徑的 TreePath 物件childIndices
- 指定已修改項的索引值的 int
陣列children
- 套件含已插入、移除或更改物件的 Object 陣列TreeModelEvent(Object,Object[],int[],Object[])
public TreeModelEvent(Object source, Object[] path)
註:
JTree 折疊指定節點下的所有節點,因此只有該節點的直接子節點可見。
source
- 對產生該事件負責的 Object(事件物件的創建者通常傳遞 this
作為其值)path
- 指定到達已修改子階層樹的根的路徑的 Object 陣列,該陣列的第一個元素是存儲在根節點上的物件,最後一個元素是存儲在已更改節點上的物件TreePath
public TreeModelEvent(Object source, TreePath path)
TreeModelEvent(Object,Object[])
。
source
- 對產生該事件負責的 Object(事件物件的創建者通常傳遞 this
作為其值)path
- 標識到達更改的路徑的 TreePath 物件。在 DefaultTreeModel 中,此物件包含一個使用者資料物件陣列,但 TreePath 的子類別可以使用完全不同的一些機制,例如,一個節點 ID 編號TreeModelEvent(Object,Object[])
方法詳細資訊 |
---|
public TreePath getTreePath()
getChildIndices
來獲得受影響節點的列表。
惟一的例外是一個將標識根的 treeNodesChanged 事件,在這種情況下,此方法將返回此根,而 getChildIndices
將返回 null。
TreePath.getLastPathComponent()
public Object[] getPath()
public Object[] getChildren()
getChildIndices
指定位置處的、作為 getPath
所標識節點的子節點的物件。如果這是一個移除事件,則返回的物件不再是父節點的子節點。
getPath()
,
getChildIndices()
public int[] getChildIndices()
int
陣列public String toString()
EventObject
中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。