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_MASK
source
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()
返回标识此事件的参数字符串。
|
getSource
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
事件是由重新启动操作生成的。
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.