Class HierarchyEvent

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

public classHierarchyEventextendsAWTEvent
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'saddNotify,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 theid 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
Assigning the value different from listed above will cause unspecified behavior.

Since:
1.3
See Also:
  • Field Details

    • HIERARCHY_FIRST

      public static final int HIERARCHY_FIRST
      Marks the first integer id for the range of hierarchy event ids.
      See Also:
    • HIERARCHY_CHANGED

      public static final int HIERARCHY_CHANGED
      The event id indicating that modification was made to the entire hierarchy tree.
      See Also:
    • ANCESTOR_MOVED

      public static final int ANCESTOR_MOVED
      The event id indicating an ancestor-Container was moved.
      See Also:
    • ANCESTOR_RESIZED

      public static final int ANCESTOR_RESIZED
      The event id indicating an ancestor-Container was resized.
      See Also:
    • HIERARCHY_LAST

      public static final int HIERARCHY_LAST
      Marks the last integer id for the range of ancestor event ids.
      See Also:
    • PARENT_CHANGED

      public static final int PARENT_CHANGED
      A change flag indicates that theHIERARCHY_CHANGED event was generated by a reparenting operation.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
  • Constructor Details

    • HierarchyEvent

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

      This method throws anIllegalArgumentException ifsource isnull.

      Parameters:
      source - TheComponent object that originated the event
      id - 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 changed
      changedParent - 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:
    • 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 anIllegalArgumentException ifsource isnull.

      Parameters:
      source - TheComponent object that originated the event
      id - 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 changed
      changedParent - The parent of thechanged component. 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 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:
  • Method Details

    • getComponent

      public Component getComponent()
      Returns the originator of the event.
      Returns:
      theComponent 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 class AWTEvent
      Returns:
      a string identifying the event and its attributes