java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.HierarchyEvent
- 所有已实现的接口:
Serializable
指示
Component 所属的 Component 层次结构发生变化的事件。
- 层次结构更改事件 (HierarchyListener)
- 添加一个祖先
- 移除祖先
- 层次结构可显示
- 层次结构无法显示
- 屏幕上显示的层次结构(可见和可显示)
- 隐藏在屏幕上的层次结构(不可见或不可显示)
- 祖先重塑事件(HierarchyBoundsListener)
- 调整了祖先的大小
- 一个祖先被感动了
层次结构事件仅用于通知目的。 AWT 将自动处理内部层次结构的更改,以便 GUI 布局和可显示性正常工作,而不管程序是否正在接收这些事件。
此事件由容器对象(例如面板)在添加、移除、移动或调整容器大小并向下传递到层次结构时生成。当调用该对象的 addNotify 、 removeNotify 、 show 或 hide 方法时,它也会由该对象生成。 ANCESTOR_MOVED 和 ANCESTOR_RESIZED 事件被分派给每个 HierarchyBoundsListener 或 HierarchyBoundsAdapter 对象,这些对象使用组件的 addHierarchyBoundsListener 方法注册接收此类事件。 (HierarchyBoundsAdapter 对象实现了 HierarchyBoundsListener 接口。)HIERARCHY_CHANGED 事件被分派到每个 HierarchyListener 对象,这些对象使用组件的 addHierarchyListener 方法注册接收此类事件。当事件发生时,每个这样的监听器对象都会得到这个 HierarchyEvent。
如果任何特定 HierarchyEvent 实例的 id 参数不在 HIERARCHY_FIRST 到 HIERARCHY_LAST 的范围内,将导致未指定的行为。
任何 HierarchyEvent 实例的 changeFlags 参数采用以下值之一:
HierarchyEvent.PARENT_CHANGEDHierarchyEvent.DISPLAYABILITY_CHANGEDHierarchyEvent.SHOWING_CHANGED
- 自从:
- 1.3
- 参见:
-
字段摘要
字段修饰符和类型Field描述static 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事件是由于层次结构显示状态的更改而生成的。在类 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层次结构中的更改。 -
方法总结
修饰符和类型方法描述返回已更改的层次结构顶部的组件。返回getChanged()返回的组件的父级。long返回一个位掩码,它指示此事件对象中表示的 HIERARCHY_CHANGED 事件的类型。返回事件的发起者。返回标识此事件的参数字符串。在类 java.util.EventObject 中声明的方法
getSource
-
字段详细信息
-
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方法的显式或隐式调用的响应中。- 参见:
-
-
构造方法详细信息
-
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为空- 参见:
-
-
方法详情
-
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中- 返回:
- 标识事件及其属性的字符串
-