java.lang.Object java.util.EventObject java.awt.AWTEvent java.awt.event.HierarchyEvent
public class HierarchyEvent
指示 Component
所属的 Component
层次结构发生更改的事件。
层次结构事件“仅”为通知目的而提供。AWT 将自动内部处理层次结构的更改,使 GUI 布局和可显示性正常工作,而不管该程序是否接收这些事件。
此事件由 Container 对象(比如 Panel)在 Container 被添加、移除、移动或调整大小时生成,并顺着层次结构向下传递。Component 对象在调用其 addNotify
、removeNotify
、show
或 hide
方法时,也生成此事件。ANCESTOR_MOVED 和 ANCESTOR_RESIZED 事件被指派到每个 HierarchyBoundsListener
或 HierarchyBoundsAdapter
对象,这些对象已使用 Component 的 addHierarchyBoundsListener
方法注册,以接收这类事件。(HierarchyBoundsAdapter
对象实现 HierarchyBoundsListener
接口。)HIERARCHY_CHANGED 事件被指派到每个 HierarchyListener
,这些对象已使用 Component 的 addHierarchyListener
方法注册,以接收这类事件。当发生该事件时,所有这类侦听器对象都获取此 HierarchyEvent
。
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.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 |
字段详细信息 |
---|
public static final int HIERARCHY_FIRST
public static final int HIERARCHY_CHANGED
public static final int ANCESTOR_MOVED
public static final int ANCESTOR_RESIZED
public static final int HIERARCHY_LAST
public static final int PARENT_CHANGED
HIERARCHY_CHANGED
事件是通过 reparenting 操作生成的。
public static final int DISPLAYABILITY_CHANGED
HIERARCHY_CHANGED
事件是因为层次结构的可显示性发生更改而生成的。要了解层次结构的当前可显示性,调用
Component.isDisplayable
。可显示性更改发生在响应对
Component.addNotify
和
Component.removeNotify
的显式或隐式调用时。
public static final int SHOWING_CHANGED
HIERARCHY_CHANGED
事件是因为层次结构的显示状态发生更改而生成的。要了解层次结构的当前显示状态,请调用
Component.isShowing
。显示状态更改发生在层次结构可显示或可见时。可见性更改发生在响应对
Component.show
和
Component.hide
的显式或隐式调用时。
构造方法详细信息 |
---|
public HierarchyEvent(Component source, int id, Component changed, Container changedParent)
HierarchyEvent
对象来标识
Component
层次结构中的更改。
注意,传入无效 id
会导致未指定的行为。如果 source
为 null
,则此方法抛出 IllegalArgumentException
。
source
- 发起事件的
Component
对象
id
- 指示事件类型的整数
changed
- 位于被更改层次结构顶部的
Component
changedParent
-
changed
的父级;它可以是该更改之前或之后的父级,这取决于更改的类型
IllegalArgumentException
- 如果
source
为 null
public HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
HierarchyEvent
对象来标识
Component
层次结构中的更改。
注意,传递无效的 id
会导致不明确的行为。如果 source
为 null
,则此方法抛出 IllegalArgumentException
。
source
- 发起事件的
Component
对象
id
- 指示事件类型的整数
changed
- 位于被更改层次结构顶部的
Component
changedParent
-
changed
的父级;它可以是该更改之前或之后的父级,这取决于更改的类型
changeFlags
- 指示此事件对象中表示的
HIERARCHY_CHANGED
事件类型的位掩码
IllegalArgumentException
- 如果
source
为 null
方法详细信息 |
---|
public Component getComponent()
Component
对象,如果该对象不是一个
Component
,则返回
null
。
public Component getChanged()
public Container getChangedParent()
getChanged()
返回的 Component 的父级。对于更改类型为 PARENT_CHANGED 并通过调用
Container.add
实现的 HIERARCHY_CHANGED 事件,返回的父级是添加操作之后的父级。对于更改类型为 PARENT_CHANGED 并通过调用
Container.remove
实现的 HIERARCHY_CHANGED 事件,返回的父级是移除操作之前的父级。对于其他所有事件和类型,返回的父级是操作期间的父级。
public long getChangeFlags()
public String paramString()
AWTEvent
中的
paramString