- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.HierarchyEvent
-
- All Implemented Interfaces:
Serializable
public class HierarchyEvent extends AWTEvent
An event which indicates a change to theComponent
hierarchy to whichComponent
belongs.- Hierarchy Change Events (HierarchyListener)
- addition of an ancestor
- removal of an ancestor
- hierarchy made displayable
- hierarchy made undisplayable
- hierarchy shown on the screen (both visible and displayable)
- hierarchy hidden on the screen (either invisible or undisplayable)
- Ancestor Reshape Events (HierarchyBoundsListener)
- an ancestor was resized
- an ancestor was moved
Hierarchy events are provided for notification purposes ONLY. The AWT will automatically handle changes to the hierarchy internally so that GUI layout and displayability works properly regardless of whether a program is receiving these events or not.
This event is generated by a Container object (such as a Panel) when the Container is added, removed, moved, or resized, and passed down the hierarchy. It is also generated by a Component object when that object's
addNotify
,removeNotify
,show
, orhide
method is called. TheANCESTOR_MOVED
andANCESTOR_RESIZED
events are dispatched to everyHierarchyBoundsListener
orHierarchyBoundsAdapter
object which registered to receive such events using the Component'saddHierarchyBoundsListener
method. (HierarchyBoundsAdapter
objects implement theHierarchyBoundsListener
interface.) TheHIERARCHY_CHANGED
events are dispatched to everyHierarchyListener
object which registered to receive such events using the Component'saddHierarchyListener
method. Each such listener object gets thisHierarchyEvent
when the event occurs.An unspecified behavior will be caused if the
id
parameter of any particularHierarchyEvent
instance is not in the range fromHIERARCHY_FIRST
toHIERARCHY_LAST
.
ThechangeFlags
parameter of anyHierarchyEvent
instance takes one of the following values:-
HierarchyEvent.PARENT_CHANGED
-
HierarchyEvent.DISPLAYABILITY_CHANGED
-
HierarchyEvent.SHOWING_CHANGED
- Since:
- 1.3
- See Also:
HierarchyListener
,HierarchyBoundsAdapter
,HierarchyBoundsListener
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
ANCESTOR_MOVED
The event id indicating an ancestor-Container was moved.static int
ANCESTOR_RESIZED
The event id indicating an ancestor-Container was resized.static int
DISPLAYABILITY_CHANGED
A change flag indicates that theHIERARCHY_CHANGED
event was generated due to the changing of the hierarchy displayability.static int
HIERARCHY_CHANGED
The event id indicating that modification was made to the entire hierarchy tree.static int
HIERARCHY_FIRST
Marks the first integer id for the range of hierarchy event ids.static int
HIERARCHY_LAST
Marks the last integer id for the range of ancestor event ids.static int
PARENT_CHANGED
A change flag indicates that theHIERARCHY_CHANGED
event was generated by a reparenting operation.static int
SHOWING_CHANGED
A change flag indicates that theHIERARCHY_CHANGED
event was generated due to the changing of the hierarchy showing state.-
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 Summary
Constructors Constructor Description HierarchyEvent(Component source, int id, Component changed, Container changedParent)
Constructs anHierarchyEvent
object to identify a change in theComponent
hierarchy.HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
Constructs anHierarchyEvent
object to identify a change in theComponent
hierarchy.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Component
getChanged()
Returns the Component at the top of the hierarchy which was changed.Container
getChangedParent()
Returns the parent of the Component returned bygetChanged()
.long
getChangeFlags()
Returns a bitmask which indicates the type(s) of HIERARCHY_CHANGED events represented in this event object.Component
getComponent()
Returns the originator of the event.String
paramString()
Returns a parameter string identifying this event.-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
Field Detail
-
HIERARCHY_FIRST
public static final int HIERARCHY_FIRST
Marks the first integer id for the range of hierarchy event ids.- See Also:
- Constant Field Values
-
HIERARCHY_CHANGED
public static final int HIERARCHY_CHANGED
The event id indicating that modification was made to the entire hierarchy tree.- See Also:
- Constant Field Values
-
ANCESTOR_MOVED
public static final int ANCESTOR_MOVED
The event id indicating an ancestor-Container was moved.- See Also:
- Constant Field Values
-
ANCESTOR_RESIZED
public static final int ANCESTOR_RESIZED
The event id indicating an ancestor-Container was resized.- See Also:
- Constant Field Values
-
HIERARCHY_LAST
public static final int HIERARCHY_LAST
Marks the last integer id for the range of ancestor event ids.- See Also:
- Constant Field Values
-
PARENT_CHANGED
public static final int PARENT_CHANGED
A change flag indicates that theHIERARCHY_CHANGED
event was generated by a reparenting operation.- See Also:
- Constant Field Values
-
DISPLAYABILITY_CHANGED
public static final int DISPLAYABILITY_CHANGED
A change flag indicates that theHIERARCHY_CHANGED
event was generated due to the changing of the hierarchy displayability. To discern the current displayability of the hierarchy, call theComponent.isDisplayable
method. Displayability changes occur in response to explicit or implicit calls of theComponent.addNotify
andComponent.removeNotify
methods.
-
SHOWING_CHANGED
public static final int SHOWING_CHANGED
A change flag indicates that theHIERARCHY_CHANGED
event was generated due to the changing of the hierarchy showing state. To discern the current showing state of the hierarchy, call theComponent.isShowing
method. Showing state changes occur when either the displayability or visibility of the hierarchy occurs. Visibility changes occur in response to explicit or implicit calls of theComponent.show
andComponent.hide
methods.
-
-
Constructor Detail
-
HierarchyEvent
public HierarchyEvent(Component source, int id, Component changed, Container changedParent)
Constructs anHierarchyEvent
object to identify a change in theComponent
hierarchy.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
object that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forHierarchyEvent
changed
- TheComponent
at the top of the hierarchy which was changedchangedParent
- The parent of thechanged
component. This may be the parent before or after the change, depending on the type of change- Throws:
IllegalArgumentException
- ifsource
isnull
- See Also:
EventObject.getSource()
,AWTEvent.getID()
,getChanged()
,getChangedParent()
-
HierarchyEvent
public HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
Constructs anHierarchyEvent
object to identify a change in theComponent
hierarchy.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
object that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forHierarchyEvent
changed
- TheComponent
at the top of the hierarchy which was changedchangedParent
- The parent of thechanged
component. This may be the parent before or after the change, depending on the type of changechangeFlags
- A bitmask which indicates the type(s) of theHIERARCHY_CHANGED
events represented in this event object. For information on allowable values, see the class description forHierarchyEvent
- Throws:
IllegalArgumentException
- ifsource
is null- See Also:
EventObject.getSource()
,AWTEvent.getID()
,getChanged()
,getChangedParent()
,getChangeFlags()
-
-
Method Detail
-
getComponent
public Component getComponent()
Returns the originator of the event.- Returns:
- the
Component
object that originated the event, ornull
if the object is not aComponent
.
-
getChanged
public Component getChanged()
Returns the Component at the top of the hierarchy which was changed.- Returns:
- the changed Component
-
getChangedParent
public Container getChangedParent()
Returns the parent of the Component returned bygetChanged()
. For a HIERARCHY_CHANGED event where the change was of type PARENT_CHANGED via a call toContainer.add
, the parent returned is the parent after the add operation. For a HIERARCHY_CHANGED event where the change was of type PARENT_CHANGED via a call toContainer.remove
, the parent returned is the parent before the remove operation. For all other events and types, the parent returned is the parent during the operation.- Returns:
- the parent of the changed Component
-
getChangeFlags
public long getChangeFlags()
Returns a bitmask which indicates the type(s) of HIERARCHY_CHANGED events represented in this event object. The bits have been bitwise-ored together.- Returns:
- the bitmask, or 0 if this is not an HIERARCHY_CHANGED event
-
paramString
public String paramString()
Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.- Overrides:
paramString
in classAWTEvent
- Returns:
- a string identifying the event and its attributes
-
-