|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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。