public class HierarchyEvent extends AWTEvent
Component所属的Component层次结构进行更改的事件。
层次结构事件仅供通报用途。 AWT将自动处理内部对层次结构的更改,以使GUI布局和可显示性正常工作,而不管程序是否正在接收这些事件。
当容器被添加,删除,移动或调整大小并传递给层次结构时,此事件由Container对象(例如Panel)生成。 它也通过一个组件对象生成时该对象的addNotify , removeNotify , show ,或hide被调用的方法。 将ANCESTOR_MOVED和ANCESTOR_RESIZED事件调度到使用组件的addHierarchyBoundsListener方法注册接收此类事件的每个HierarchyBoundsListener或HierarchyBoundsAdapter对象。 ( HierarchyBoundsAdapter对象实现HierarchyBoundsListener接口。) HIERARCHY_CHANGED事件被发送到使用组件的addHierarchyListener方法注册接收这样的事件的每个HierarchyListener对象。 当事件发生时,每个这样的侦听器对象获得这个HierarchyEvent 。
如果未指定的行为将引起id任何特定的参数HierarchyEvent实例不在范围从HIERARCHY_FIRST到HIERARCHY_LAST 。
该changeFlags任何的参数HierarchyEvent例如采用以下值之一:
HierarchyEvent.PARENT_CHANGED HierarchyEvent.DISPLAYABILITY_CHANGED HierarchyEvent.SHOWING_CHANGED HierarchyListener , HierarchyBoundsAdapter , HierarchyBoundsListener , Serialized Form
| Modifier and Type | Field and Description |
|---|---|
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事件。
|
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_MASKsource| Constructor and Description |
|---|
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 | Method and Description |
|---|---|
Component |
getChanged()
返回已更改的层次结构顶部的组件。
|
Container |
getChangedParent()
返回由
getChanged()返回的组件的父级。
|
long |
getChangeFlags()
返回一个位掩码,指示此事件对象中表示的HIERARCHY_CHANGED事件的类型。
|
Component |
getComponent()
返回事件的发起者。
|
String |
paramString()
返回标识此事件的参数字符串。
|
getSourcepublic 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事件是由重新启动操作生成的。
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层次结构中的更改。
此方法抛出IllegalArgumentException如果source是null 。
source - 发起事件的
Component对象
id - 指示事件类型的整数。
有关允许值的信息,请参阅HierarchyEvent的类说明
changed -
Component顶部的Component已更改
changedParent -所述的父changed组件。
这可能是变更之前或之后的父母,具体取决于变化的类型
IllegalArgumentException - 如果
source是
null
EventObject.getSource() ,
AWTEvent.getID() ,
getChanged() ,
getChangedParent()
public HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
HierarchyEvent对象,以标识Component层次结构中的更改。
此方法抛出IllegalArgumentException如果source是null 。
source - 发起事件的
Component对象
id - 指示事件类型的整数。
有关允许值的信息,请参阅HierarchyEvent的类说明
changed -
Component顶部的Component已更改
changedParent -所述的父changed组件。
这可能是变更之前或之后的父母,具体取决于变化的类型
changeFlags - 表示此事件对象中表示的HIERARCHY_CHANGED事件的类型的位掩码。
有关允许值的信息,请参阅HierarchyEvent的类说明
IllegalArgumentException - 如果
source为空
EventObject.getSource() ,
AWTEvent.getID() ,
getChanged() ,
getChangedParent() ,
getChangeFlags()
public Component getComponent()
Component对象发起事件,或
null如果对象不是
Component 。
public Component getChanged()
public Container getChangedParent()
getChanged()返回的组件的父级。
对于通过调用Container.add更改类型为PARENT_CHANGED的HIERARCHY_CHANGED事件,返回的父代是添加操作后的父级。
对于HIERARCHY_CHANGED事件,其中的变化是通过将呼叫PARENT_CHANGED型Container.remove ,返回的父级是移除操作之前的父。
对于所有其他事件和类型,返回的父级是操作期间的父级。
public long getChangeFlags()
public String paramString()
paramString在
AWTEvent
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.