JavaTM 2 Platform
Standard Ed. 6

java.awt.event
類別 HierarchyEvent

java.lang.Object
  繼承者 java.util.EventObject
      繼承者 java.awt.AWTEvent
          繼承者 java.awt.event.HierarchyEvent
所有已實作的介面:
Serializable

public class HierarchyEvent
extends AWTEvent

指示 Component 所屬的 Component 層次結構發生更改的事件。

層次結構事件“僅”為通知目的而提供。AWT 將自動內部處理層次結構的更改,使 GUI 佈局和可顯示性正常工作,而不管該程序是否接收這些事件。

此事件由 Container 物件(比如 Panel)在 Container 被添加、移除、移動或調整大小時產生,並順著層次結構向下傳遞。Component 物件在調用其 addNotifyremoveNotifyshowhide 方法時,也產生此事件。ANCESTOR_MOVED 和 ANCESTOR_RESIZED 事件被指派到每個 HierarchyBoundsListenerHierarchyBoundsAdapter 物件,這些物件已使用 Component 的 addHierarchyBoundsListener 方法註冊,以接收這類別事件。(HierarchyBoundsAdapter 物件實作 HierarchyBoundsListener 介面。)HIERARCHY_CHANGED 事件被指派到每個 HierarchyListener,這些物件已使用 Component 的 addHierarchyListener 方法註冊,以接收這類別事件。當發生該事件時,所有這類別偵聽器對象都獲取此 HierarchyEvent

從以下版本開始:
1.3
另請參見:
HierarchyListener, HierarchyBoundsAdapter, HierarchyBoundsListener, 序列化表格

欄位摘要
static int ANCESTOR_MOVED
          指示祖先 Container 被移動的事件 id。
static int ANCESTOR_RESIZED
          指示祖先 Container 大小被調整的事件 id。
static int DISPLAYABILITY_CHANGED
          指示 HIERARCHY_CHANGED 事件是因為層次結構的可顯示性發生更改而產生的。
static int HIERARCHY_CHANGED
          指示對整個層次結構階層樹進行修改的事件 id。
static int HIERARCHY_FIRST
          標記層次結構事件 id 範圍的第一個整數 id。
static int HIERARCHY_LAST
          標記祖先事件 id 範圍的最後一個整數 id。
static int PARENT_CHANGED
          指示 HIERARCHY_CHANGED 事件是通過 reparenting 操作產生的。
static int SHOWING_CHANGED
          指示 HIERARCHY_CHANGED 事件是因為層次結構的顯示狀態發生更改而產生的。
 
從類別 java.awt.AWTEvent 繼承的欄位
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
 
從類別 java.util.EventObject 繼承的欄位
source
 
建構子摘要
HierarchyEvent(Component source, int id, Component changed, Container changedParent)
          建構一個 HierarchyEvent 物件來標識 Component 層次結構中的更改。
HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
          建構一個 HierarchyEvent 物件來標識 Component 層次結構中的更改。
 
方法摘要
 Component getChanged()
          返回位於被更改層次結構頂部的 Component。
 Container getChangedParent()
          返回由 getChanged() 返回的 Component 的父級。
 long getChangeFlags()
          返回指示此事件物件中表示的 HIERARCHY_CHANGED 事件型別的位遮罩碼。
 Component getComponent()
          返回事件的始發者。
 String paramString()
          返回標識此事件的參數字元串。
 
從類別 java.awt.AWTEvent 繼承的方法
consume, getID, isConsumed, setSource, toString
 
從類別 java.util.EventObject 繼承的方法
getSource
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

HIERARCHY_FIRST

public static final int HIERARCHY_FIRST
標記層次結構事件 id 範圍的第一個整數 id。

另請參見:
常數欄位值

HIERARCHY_CHANGED

public static final int HIERARCHY_CHANGED
指示對整個層次結構階層樹進行修改的事件 id。

另請參見:
常數欄位值

ANCESTOR_MOVED

public static final int ANCESTOR_MOVED
指示祖先 Container 被移動的事件 id。

另請參見:
常數欄位值

ANCESTOR_RESIZED

public static final int ANCESTOR_RESIZED
指示祖先 Container 大小被調整的事件 id。

另請參見:
常數欄位值

HIERARCHY_LAST

public static final int HIERARCHY_LAST
標記祖先事件 id 範圍的最後一個整數 id。

另請參見:
常數欄位值

PARENT_CHANGED

public static final int PARENT_CHANGED
指示 HIERARCHY_CHANGED 事件是通過 reparenting 操作產生的。

另請參見:
常數欄位值

DISPLAYABILITY_CHANGED

public static final int DISPLAYABILITY_CHANGED
指示 HIERARCHY_CHANGED 事件是因為層次結構的可顯示性發生更改而產生的。要瞭解層次結構的當前可顯示性,調用 Component.isDisplayable。可顯示性更改發生在回應對 Component.addNotifyComponent.removeNotify 的顯式或隱式調用時。

另請參見:
Component.isDisplayable(), Component.addNotify(), Component.removeNotify(), 常數欄位值

SHOWING_CHANGED

public static final int SHOWING_CHANGED
指示 HIERARCHY_CHANGED 事件是因為層次結構的顯示狀態發生更改而產生的。要瞭解層次結構的當前顯示狀態,請調用 Component.isShowing。顯示狀態更改發生在層次結構可顯示或可見時。可見性更改發生在回應對 Component.showComponent.hide 的顯式或隱式調用時。

另請參見:
Component.isShowing(), Component.addNotify(), Component.removeNotify(), Component.show(), Component.hide(), 常數欄位值
建構子詳細資訊

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent)
建構一個 HierarchyEvent 物件來標識 Component 層次結構中的更改。

注意,傳入無效 id 會導致未指定的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

參數:
source - 發起事件的 Component 物件
id - 指示事件型別的整數
changed - 位於被更改層次結構頂部的 Component
changedParent - changed 的父級;它可以是該更改之前或之後的父級,這取決於更改的型別
拋出:
IllegalArgumentException - 如果 source 為 null

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent,
                      long changeFlags)
建構一個 HierarchyEvent 物件來標識 Component 層次結構中的更改。

注意,傳遞無效的 id 會導致不明確的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

參數:
source - 發起事件的 Component 物件
id - 指示事件型別的整數
changed - 位於被更改層次結構頂部的 Component
changedParent - changed 的父級;它可以是該更改之前或之後的父級,這取決於更改的型別
changeFlags - 指示此事件物件中表示的 HIERARCHY_CHANGED 事件型別的位遮罩碼
拋出:
IllegalArgumentException - 如果 source 為 null
方法詳細資訊

getComponent

public Component getComponent()
返回事件的始發者。

返回:
發起事件的 Component 物件,如果該物件不是一個 Component,則返回 null

getChanged

public Component getChanged()
返回位於被更改層次結構頂部的 Component。

返回:
更改的 Component

getChangedParent

public Container getChangedParent()
返回由 getChanged() 返回的 Component 的父級。對於更改型別為 PARENT_CHANGED 並通過調用 Container.add 實作的 HIERARCHY_CHANGED 事件,返回的父級是添加操作之後的父級。對於更改型別為 PARENT_CHANGED 並通過調用 Container.remove 實作的 HIERARCHY_CHANGED 事件,返回的父級是移除操作之前的父級。對於其他所有事件和型別,返回的父級是操作期間的父級。

返回:
所更改 Component 的父級

getChangeFlags

public long getChangeFlags()
返回指示此事件物件中表示的 HIERARCHY_CHANGED 事件型別的位遮罩碼。這些位一起被執行了按位或運算。

返回:
位遮罩碼,如果此事件不是 HIERARCHY_CHANGED 事件,則返回 0

paramString

public String paramString()
返回標識此事件的參數字元串。此方法對於事件記錄和除錯很有用。

覆寫:
類別 AWTEvent 中的 paramString
返回:
標識事件及其屬性的字元串

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only