- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.HierarchyEvent
-
- 实现的所有接口
-
Serializable
public class HierarchyEvent extends AWTEvent
一个事件,指示Component
所属的Component
层次结构的更改。- 层次结构更改事件(HierarchyListener)
- 添加一个祖先
- 删除祖先
- 层次结构可显示
- 层次结构变得无法显示
- 屏幕上显示的层次结构(可见和可显示)
- 隐藏在屏幕上的层次结构(隐藏或不可显示)
- 祖先重塑事件(HierarchyBoundsListener)
- 祖先被调整大小
- 祖先被感动了
提供层次结构事件仅用于通知目的。 AWT将自动在内部处理层次结构的更改,以便GUI布局和可显示性正常工作,无论程序是否正在接收这些事件。
在添加,删除,移动或调整Container以及向下传递层次结构时,Container事件(如Panel)会生成此事件。 它也通过一个组件对象生成时该对象的
addNotify
,removeNotify
,show
,或hide
被调用的方法。ANCESTOR_MOVED
和ANCESTOR_RESIZED
事件将分派到每个HierarchyBoundsListener
或HierarchyBoundsAdapter
对象,该对象使用组件的addHierarchyBoundsListener
方法注册接收此类事件。 (HierarchyBoundsAdapter
对象实现了HierarchyBoundsListener
接口。)HIERARCHY_CHANGED
事件被分派到每个HierarchyListener
对象,该对象使用Component的addHierarchyListener
方法注册接收此类事件。 事件发生时,每个此类侦听器对象都会获得此HierarchyEvent
。如果任何特定
HierarchyEvent
实例的id
参数不在HIERARCHY_FIRST
到HIERARCHY_LAST
范围内,HIERARCHY_FIRST
导致未指定的行为。
任何HierarchyEvent
实例的changeFlags
参数采用以下值之一:-
HierarchyEvent.PARENT_CHANGED
-
HierarchyEvent.DISPLAYABILITY_CHANGED
-
HierarchyEvent.SHOWING_CHANGED
- 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyListener
,HierarchyBoundsAdapter
,HierarchyBoundsListener
, Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 static int
ANCESTOR_MOVED
表示祖先容器的事件ID已被移动。static int
ANCESTOR_RESIZED
指示ancestor-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
事件是由重新生成操作生成的。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的父getChanged()
。long
getChangeFlags()
返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。Component
getComponent()
返回事件的发起者。String
paramString()
返回标识此事件的参数字符串。-
声明方法的类 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
指示ancestor-Container的事件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
public HierarchyEvent(Component source, int id, Component changed, Container changedParent)
构造一个HierarchyEvent
对象以标识Component
层次结构中的更改。此方法抛出
IllegalArgumentException
如果source
为null
。- 参数
-
source
- 发起事件的Component
对象 -
id
- 指示事件类型的整数。 有关允许值的信息,请参阅HierarchyEvent
的类说明 -
changed
- 已更改的层次结构顶部的Component
-
changedParent
-changed
组件的父changed
。 这可能是更改之前或之后的父级,具体取决于更改的类型 - 异常
-
IllegalArgumentException
- 如果source
是null
- 另请参见:
-
EventObject.getSource()
,AWTEvent.getID()
,getChanged()
,getChangedParent()
-
HierarchyEvent
public HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
构造一个HierarchyEvent
对象以标识Component
层次结构中的更改。此方法抛出
IllegalArgumentException
如果source
为null
。- 参数
-
source
- 发起事件的Component
对象 -
id
- 指示事件类型的整数。 有关允许值的信息,请参阅HierarchyEvent
的类说明 -
changed
- 已更改的层次结构顶部的Component
-
changedParent
-changed
组件的父changed
。 这可能是更改之前或之后的父级,具体取决于更改的类型 -
changeFlags
- 位掩码,指示此事件对象中表示的HIERARCHY_CHANGED
事件的类型。 有关允许值的信息,请参阅HierarchyEvent
的类说明 - 异常
-
IllegalArgumentException
- 如果source
为空 - 另请参见:
-
EventObject.getSource()
,AWTEvent.getID()
,getChanged()
,getChangedParent()
,getChangeFlags()
-
-
方法详细信息
-
getComponent
public Component getComponent()
返回事件的发起者。- 结果
-
所述
Component
对象发起事件,或null
如果对象不是Component
。
-
getChanged
public Component getChanged()
返回已更改的层次结构顶部的Component。- 结果
- 更改的组件
-
getChangedParent
public Container getChangedParent()
返回由getChanged()
返回的Component的父getChanged()
。 对于通过调用Container.add
而更改为PARENT_CHANGED类型的HIERARCHY_CHANGED事件,返回的父项是添加操作后的父项。 对于通过调用Container.remove
而更改为PARENT_CHANGED类型的HIERARCHY_CHANGED事件,返回的父项是remove操作之前的父项。 对于所有其他事件和类型,返回的父级是操作期间的父级。- 结果
- 已更改的Component的父级
-
getChangeFlags
public long getChangeFlags()
返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。 这些位已按位进行按位。- 结果
- 位掩码,如果不是HIERARCHY_CHANGED事件,则为0
-
paramString
public String paramString()
返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。- 重写:
-
paramString
在类AWTEvent
- 结果
- a string identifying the event and its attributes
-
-