java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.HierarchyEvent
- 所有已实现的接口:
-
Serializable
表示
Component
所属的Component
层次结构发生变化的事件。
- 层次变化事件(HierarchyListener)
- 添加祖先
- 移除祖先
- 层次结构变为可显示
- 层次结构变为不可显示
- 层次结构在屏幕上显示(可见和可显示)
- 层次结构在屏幕上隐藏(不可见或不可显示)
- 祖先重塑事件(HierarchyBoundsListener)
- 祖先被调整大小
- 祖先被移动
层次事件仅用于通知目的。 AWT将自动处理层次结构的变化,以确保GUI布局和可显示性正常工作,无论程序是否接收这些事件。
当容器对象(如Panel)添加、移除、移动或调整大小时,将生成此事件,并传递到层次结构中。当调用对象的addNotify
、removeNotify
、show
或hide
方法时,也会生成此事件。将ANCESTOR_MOVED
和ANCESTOR_RESIZED
事件分派给每个使用组件的addHierarchyBoundsListener
方法注册接收此类事件的HierarchyBoundsListener
或HierarchyBoundsAdapter
对象。(HierarchyBoundsAdapter
对象实现HierarchyBoundsListener
接口。)将HIERARCHY_CHANGED
事件分派给每个使用组件的addHierarchyListener
方法注册接收此类事件的HierarchyListener
对象。每个此类监听器对象在事件发生时都会收到此HierarchyEvent
。
如果任何特定HierarchyEvent
实例的id
参数不在HIERARCHY_FIRST
到HIERARCHY_LAST
范围内,将导致未指定的行为。
任何HierarchyEvent
实例的changeFlags
参数将取以下值之一:
HierarchyEvent.PARENT_CHANGED
HierarchyEvent.DISPLAYABILITY_CHANGED
HierarchyEvent.SHOWING_CHANGED
- 自:
- 1.3
- 另请参阅:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
表示祖先容器已移动的事件id。static final int
表示祖先容器已调整大小的事件id。static final int
一个变化标志,表示由于层次结构可显示性的改变而生成的HIERARCHY_CHANGED
事件。static final int
表示对整个层次结构树进行修改的事件id。static final int
标记层次事件id范围的第一个整数id。static final int
标记祖先事件id范围的最后一个整数id。static final int
一个变化标志,表示HIERARCHY_CHANGED
事件是由重新父级操作生成的。static final int
一个变化标志,表示由于层次结构显示状态的改变而生成的HIERARCHY_CHANGED
事件。Fields declared in class 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
Fields declared in class java.util.EventObject
source
-
Constructor Summary
ConstructorDescriptionHierarchyEvent
(Component source, int id, Component changed, Container changedParent) 构造一个HierarchyEvent
对象,用于标识Component
层次结构中的变化。HierarchyEvent
(Component source, int id, Component changed, Container changedParent, long changeFlags) 构造一个HierarchyEvent
对象,用于标识Component
层次结构中的变化。 -
Method Summary
Modifier and TypeMethodDescription返回发生变化的层次结构顶部的组件。返回getChanged()
返回的组件的父级。long
返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。返回事件的发起者。返回标识此事件的参数字符串。Methods declared in class java.util.EventObject
getSource
-
Field Details
-
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表示祖先容器已移动的事件id。- 另请参阅:
-
ANCESTOR_RESIZED
public static final int ANCESTOR_RESIZED表示祖先容器已调整大小的事件id。- 另请参阅:
-
HIERARCHY_LAST
public static final int HIERARCHY_LAST标记祖先事件id范围的最后一个整数id。- 另请参阅:
-
PARENT_CHANGED
public static final int PARENT_CHANGED一个变化标志,表示HIERARCHY_CHANGED
事件是由重新父级操作生成的。- 另请参阅:
-
DISPLAYABILITY_CHANGED
public static final int DISPLAYABILITY_CHANGED一个变化标志,表示HIERARCHY_CHANGED
事件是由于层次结构可显示性的改变而生成的。要区分层次结构的当前可显示性,调用Component.isDisplayable
方法。显示性更改是响应于显式或隐式调用Component.addNotify
和Component.removeNotify
方法而发生的。- 另请参阅:
-
SHOWING_CHANGED
public static final int SHOWING_CHANGED一个变化标志,表示HIERARCHY_CHANGED
事件是由于层次结构显示状态的改变而生成的。要区分层次结构的当前显示状态,调用Component.isShowing
方法。显示状态更改是在层次结构的显示性或可见性发生变化时发生的。可见性更改是响应于显式或隐式调用Component.show
和Component.hide
方法而发生的。- 另请参阅:
-
-
Constructor Details
-
HierarchyEvent
构造一个HierarchyEvent
对象,用于标识Component
层次结构中的变化。如果
source
为null
,此方法将抛出IllegalArgumentException
。- 参数:
-
source
- 产生事件的Component
对象 -
id
- 指示事件类型的整数。有关允许值的信息,请参阅HierarchyEvent
的类描述 -
changed
- 发生变化的层次结构顶部的Component
-
changedParent
-changed
组件的父级。这可能是更改前或更改后的父级,具体取决于更改的类型 - 抛出:
-
IllegalArgumentException
- 如果source
为null
- 另请参阅:
-
HierarchyEvent
public HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags) 构造一个HierarchyEvent
对象,用于标识Component
层次结构中的变化。如果
source
为null
,此方法将抛出IllegalArgumentException
。- 参数:
-
source
- 触发事件的Component
对象 -
id
- 表示事件类型的整数。有关允许值的信息,请参阅HierarchyEvent
的类描述 -
changed
- 发生变化的层次结构顶部的Component
-
changedParent
-changed
组件的父级。这可能是变化前或变化后的父级,取决于变化的类型 -
changeFlags
- 表示此事件对象中所代表的HIERARCHY_CHANGED
事件类型的位掩码。有关允许值的信息,请参阅HierarchyEvent
的类描述 - 抛出:
-
IllegalArgumentException
- 如果source
为null - 参见:
-
-
Method Details
-
getComponent
返回事件的发起者。- 返回:
-
触发事件的
Component
对象,如果对象不是Component
则返回null
。
-
getChanged
返回发生变化的层次结构顶部的组件。- 返回:
- 发生变化的组件
-
getChangedParent
返回getChanged()
返回的组件的父级。对于通过调用Container.add
进行的PARENT_CHANGED类型的HIERARCHY_CHANGED事件,返回的父级是添加操作后的父级。对于通过调用Container.remove
进行的PARENT_CHANGED类型的HIERARCHY_CHANGED事件,返回的父级是移除操作前的父级。对于所有其他事件和类型,返回的父级是操作期间的父级。- 返回:
- 发生变化的组件的父级
-
getChangeFlags
public long getChangeFlags()返回一个位掩码,指示此事件对象中所代表的HIERARCHY_CHANGED事件类型。位已进行按位或操作。- 返回:
- 位掩码,如果这不是HIERARCHY_CHANGED事件则返回0
-
paramString
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。- 覆盖:
-
paramString
在类AWTEvent
- 返回:
- 标识事件及其属性的字符串
-