- 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 intANCESTOR_MOVED指示一个祖先的容器ID被移动了。static intANCESTOR_RESIZED指示祖先的事件ID容器被调整大小。static intDISPLAYABILITY_CHANGED更改标志表示HIERARCHY_CHANGED事件是由于层次可显示性的改变而生成的。static intHIERARCHY_CHANGED事件id表示对整个层次结构树进行了修改。static intHIERARCHY_FIRST标记层次结构事件ID范围的第一个整数ID。static intHIERARCHY_LAST标记祖先事件ID的范围的最后一个整数ID。static intPARENT_CHANGED更改标志表示HIERARCHY_CHANGED事件是由重新启动操作生成的。static intSHOWING_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 方法 描述 ComponentgetChanged()返回已更改的层次结构顶部的组件。ContainergetChangedParent()返回由getChanged()返回的组件的父getChanged()。longgetChangeFlags()返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。ComponentgetComponent()返回事件的发起者。StringparamString()返回标识此事件的参数字符串。-
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
-
-