- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.HierarchyEvent
-
- All Implemented Interfaces:
-
Serializable
public class HierarchyEvent extends AWTEvent
表示Component
属于Component
层次结构的更改的事件。- 层次结构更改事件(HierarchyListener)
- 加上祖先
- 去除祖先
- 层次结构可显示
- 层次结构不可显示
- 屏幕上显示的层次结构(可见和可显示)
- 屏幕上隐藏的层次结构(不可见或不可显示)
- 祖先重塑事件(HierarchyBoundsListener)
- 祖先被调整大小
- 祖先被移动了
层次结构事件仅供通报用途。 AWT将自动处理内部对层次结构的更改,以使GUI布局和可显示性正常工作,而不管程序是否正在接收这些事件。
当容器被添加,删除,移动或调整大小并传递给层次结构时,此事件由Container对象(例如Panel)生成。 它也通过一个组件对象生成时该对象的
addNotify
,removeNotify
,show
,或hide
被调用的方法。 将ANCESTOR_MOVED
和ANCESTOR_RESIZED
事件发送到使用组件的addHierarchyBoundsListener
方法注册接收此类事件的每个HierarchyBoundsListener
或HierarchyBoundsAdapter
对象。 (HierarchyBoundsAdapter
对象实现HierarchyBoundsListener
接口。)将HIERARCHY_CHANGED
事件发送到每个HierarchyListener
对象,该对象使用组件的addHierarchyListener
方法注册接收此类事件。 当事件发生时,每个这样的侦听器对象获得这个HierarchyEvent
。如果任何特定
HierarchyEvent
实例的id
参数不在从HIERARCHY_FIRST
到HIERARCHY_LAST
的范围内,将会引起未指定的行为。
任何HierarchyEvent
实例的changeFlags
参数都需要以下值之一:-
HierarchyEvent.PARENT_CHANGED
-
HierarchyEvent.DISPLAYABILITY_CHANGED
-
HierarchyEvent.SHOWING_CHANGED
- 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyListener
,HierarchyBoundsAdapter
,HierarchyBoundsListener
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
ANCESTOR_MOVED
指示一个祖先的容器ID被移动了。static int
ANCESTOR_RESIZED
指示祖先的事件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
事件由于显示状态的层次结构的变化而生成。-
Fields inherited from 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 inherited from class java.util.EventObject
source
-
-
构造方法摘要
构造方法 Constructor 描述 HierarchyEvent(Component source, int id, Component changed, Container changedParent)
构造一个HierarchyEvent
对象,以标识Component
层次结构中的更改。HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
构造一个HierarchyEvent
对象,以标识Component
层次结构中的更改。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Component
getChanged()
返回已更改的层次结构顶部的组件。Container
getChangedParent()
返回由getChanged()
返回的组件的父getChanged()
。long
getChangeFlags()
返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。Component
getComponent()
返回事件的发起者。String
paramString()
返回标识此事件的参数字符串。-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
字段详细信息
-
HIERARCHY_FIRST
public static final int HIERARCHY_FIRST
标记层次结构事件ID范围的第一个整数ID。- 另请参见:
- Constant Field Values
-
HIERARCHY_CHANGED
public static final int HIERARCHY_CHANGED
事件id表示对整个层次结构树进行了修改。- 另请参见:
- Constant Field Values
-
ANCESTOR_MOVED
public static final int ANCESTOR_MOVED
指示一个祖先的容器ID被移动了。- 另请参见:
- Constant Field Values
-
ANCESTOR_RESIZED
public static final int ANCESTOR_RESIZED
指示祖先的事件ID容器被调整大小。- 另请参见:
- Constant Field Values
-
HIERARCHY_LAST
public static final int HIERARCHY_LAST
标记祖先事件ID的范围的最后一个整数ID。- 另请参见:
- Constant Field Values
-
PARENT_CHANGED
public static final int PARENT_CHANGED
更改标志表示HIERARCHY_CHANGED
事件是由重新启动操作生成的。- 另请参见:
- Constant Field Values
-
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()
返回已更改的层次结构顶部的组件。- 结果
- 更改的组件
-
getChangedParent
public Container getChangedParent()
返回由getChanged()
返回的组件的父getChanged()
。 对于通过调用Container.add
更改类型为PARENT_CHANGED的HIERARCHY_CHANGED事件,返回的父级是添加操作后的父级。 对于通过调用Container.remove
,更改类型为PARENT_CHANGED的HIERARCHY_CHANGED事件,返回的父级是删除操作之前的父级。 对于所有其他事件和类型,返回的父级是操作期间的父级。- 结果
- 更改的组件的父级
-
getChangeFlags
public long getChangeFlags()
返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。 这些位已经按比例地排列在一起。- 结果
- 位掩码,如果不是HIERARCHY_CHANGED事件,则为0
-
paramString
public String paramString()
返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。- 重写:
-
paramString
在AWTEvent
- 结果
- a string identifying the event and its attributes
-
-