W3cubDocs

/OpenJDK 8 GUI

Class HierarchyEvent

All Implemented Interfaces:
Serializable
public class HierarchyEvent
extends AWTEvent

An event which indicates a change to the Component hierarchy to which Component 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, or hide method is called. The 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.) The 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.

An unspecified behavior will be caused if the id parameter of any particular HierarchyEvent instance is not in the range from HIERARCHY_FIRST to HIERARCHY_LAST.
The changeFlags parameter of any HierarchyEvent 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:
HierarchyListener, HierarchyBoundsAdapter, HierarchyBoundsListener, Serialized Form

Fields

HIERARCHY_FIRST

public static final int HIERARCHY_FIRST

Marks the first integer id for the range of hierarchy event ids.

HIERARCHY_CHANGED

public static final int HIERARCHY_CHANGED

The event id indicating that modification was made to the entire hierarchy tree.

ANCESTOR_MOVED

public static final int ANCESTOR_MOVED

The event id indicating an ancestor-Container was moved.

ANCESTOR_RESIZED

public static final int ANCESTOR_RESIZED

The event id indicating an ancestor-Container was resized.

HIERARCHY_LAST

public static final int HIERARCHY_LAST

Marks the last integer id for the range of ancestor event ids.

PARENT_CHANGED

public static final int PARENT_CHANGED

A change flag indicates that the HIERARCHY_CHANGED event was generated by a reparenting operation.

DISPLAYABILITY_CHANGED

public static final int DISPLAYABILITY_CHANGED

A change flag indicates that the HIERARCHY_CHANGED event was generated due to the changing of the hierarchy displayability. To discern the current displayability of the hierarchy, call the Component.isDisplayable method. Displayability changes occur in response to explicit or implicit calls of the Component.addNotify and Component.removeNotify methods.

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

SHOWING_CHANGED

public static final int SHOWING_CHANGED

A change flag indicates that the HIERARCHY_CHANGED event was generated due to the changing of the hierarchy showing state. To discern the current showing state of the hierarchy, call the Component.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 the Component.show and Component.hide methods.

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

Constructors

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent)

Constructs an HierarchyEvent object to identify a change in the Component hierarchy.

This method throws an IllegalArgumentException if source is null.

Parameters:
source - The Component object that originated the event
id - An integer indicating the type of event. For information on allowable values, see the class description for HierarchyEvent
changed - The Component at the top of the hierarchy which was changed
changedParent - The parent of the changed component. This may be the parent before or after the change, depending on the type of change
Throws:
IllegalArgumentException - if source is null
See Also:
EventObject.getSource(), AWTEvent.getID(), getChanged(), getChangedParent()

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.

This method throws an IllegalArgumentException if source is null.

Parameters:
source - The Component object that originated the event
id - An integer indicating the type of event. For information on allowable values, see the class description for HierarchyEvent
changed - The Component at the top of the hierarchy which was changed
changedParent - The parent of the changed 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 the HIERARCHY_CHANGED events represented in this event object. For information on allowable values, see the class description for HierarchyEvent
Throws:
IllegalArgumentException - if source is null
See Also:
EventObject.getSource(), AWTEvent.getID(), getChanged(), getChangedParent(), getChangeFlags()

Methods

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

© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.