java.awt.event
Class HierarchyEvent

java.lang.Object
  extended byjava.util.EventObject
      extended byjava.awt.AWTEvent
          extended byjava.awt.event.HierarchyEvent
All Implemented Interfaces:
Serializable

public class HierarchyEvent
extends AWTEvent

An event which indicates a change to the Component hierarchy to which a Component belongs.

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, or hide method is called. ANCESTOR_MOVED and ANCESTOR_RESIZED events are dispatched to every HierarchyBoundsListener or HierarchyBoundsAdapter object which registered to receive such events using the Component's addHierarchyBoundsListener method. (HierarchyBoundsAdapter objects implement the HierarchyBoundsListener interface.) HIERARCHY_CHANGED events are dispatched to every HierarchyListener object which registered to receive such events using the Component's addHierarchyListener method. Each such listener object gets this HierarchyEvent when the event occurs.

Since:
1.3
Author:
David Mendenhall
See Also:
HierarchyListener, HierarchyBoundsAdapter, HierarchyBoundsListener, Serialized Form

Field Summary
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.
(package private)  Component changed
           
(package private)  Container changedParent
           
(package private)  long changeFlags
           
static int DISPLAYABILITY_CHANGED
          Indicates that the HIERARCHY_CHANGED event was generated due to a change in the displayability of the hierarchy.
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
          Indicates that the HIERARCHY_CHANGED event was generated by a reparenting operation.
static int SHOWING_CHANGED
          Indicates that the HIERARCHY_CHANGED event was generated due to a change in the showing state of the hierarchy.
 
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
HierarchyEvent(Component source, int id, Component changed, Container changedParent)
          Constructs an HierarchyEvent object to identify a change in the Component hierarchy.
HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
          Constructs an HierarchyEvent object to identify a change in the Component hierarchy.
 
Method Summary
 Component getChanged()
          Returns the Component at the top of the hierarchy which was changed.
 Container getChangedParent()
          Returns the parent of the Component returned by getChanged().
 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.awt.AWTEvent
consume, getID, isConsumed, setSource, toString
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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
Indicates that the HIERARCHY_CHANGED event was generated by a reparenting operation.

See Also:
Constant Field Values

DISPLAYABILITY_CHANGED

public static final int DISPLAYABILITY_CHANGED
Indicates that the HIERARCHY_CHANGED event was generated due to a change in the displayability of the hierarchy. To discern the current displayability of the hierarchy, call Component.isDisplayable. Displayability changes occur in response to explicit or implicit calls to Component.addNotify and Component.removeNotify.

See Also:
Component.isDisplayable(), Component.addNotify(), Component.removeNotify(), Constant Field Values

SHOWING_CHANGED

public static final int SHOWING_CHANGED
Indicates that the HIERARCHY_CHANGED event was generated due to a change in the showing state of the hierarchy. To discern the current showing state of the hierarchy, call Component.isShowing. Showing state changes occur when either the displayability or visibility of the hierarchy occurs. Visibility changes occur in response to explicit or implicit calls to Component.show and Component.hide.

See Also:
Component.isShowing(), Component.addNotify(), Component.removeNotify(), Component.show(), Component.hide(), Constant Field Values

changed

Component changed

changedParent

Container changedParent

changeFlags

long changeFlags
Constructor Detail

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent)
Constructs an HierarchyEvent object to identify a change in the Component hierarchy.

Note that passing in an invalid id results in unspecified behavior.

Parameters:
source - the Component object that originated the event
id - an integer indicating the type of event
changed - the Component at the top of the hierarchy which was changed
changedParent - the parent of changed; this may be the parent before or after the change, depending on the type of change

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent,
                      long changeFlags)
Constructs an HierarchyEvent object to identify a change in the Component hierarchy.

Note that passing in an invalid id results in unspecified behavior.

Parameters:
source - the Component object that originated the event
id - an integer indicating the type of event
changed - the Component at the top of the hierarchy which was changed
changedParent - the parent of changed; this may be the parent before or after the change, depending on the type of change
changeFlags - a bitmask which indicates the type(s) of HIERARCHY_CHANGED events represented in this event object
Method Detail

getComponent

public Component getComponent()
Returns the originator of the event.

Returns:
the Component object that originated the event, or null if the object is not a Component.

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 by getChanged(). For a HIERARCHY_CHANGED event where the change was of type PARENT_CHANGED via a call to Container.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 to Container.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 class AWTEvent
Returns:
a string identifying the event and its attributes