java.awt.event

Class HierarchyEvent

Implemented Interfaces:
Serializable

public class HierarchyEvent
extends AWTEvent

This class represents an event generated for an ancestor component which may affect this component. These events normally do not need to be handled by the application, since the AWT system automatically takes care of them.

There are two types of hierarchy events. The first type is handled by HierarchyListener, and includes addition or removal of an ancestor, or an ancestor changing its on-screen status (visible and/or displayble). The second type is handled by HierarchyBoundsListener, and includes resizing or moving of an ancestor.

Since:
1.3
See Also:
HierarchyListener, HierarchyBoundsAdapter, HierarchyBoundsListener, Serialized Form

Field Summary

static int
ANCESTOR_MOVED
This id indicates that an ancestor was moved.
static int
ANCESTOR_RESIZED
This id indicates that an ancestor was resized.
static int
DISPLAYABILITY_CHANGED
This indicates that the HIERARCHY_CHANGED is caused by a change in displayability.
static int
HIERARCHY_CHANGED
This id indicates that the hierarchy tree changed.
static int
HIERARCHY_FIRST
This is the first id in the range of ids used by this class.
static int
HIERARCHY_LAST
This is the last id in the range of ids used by this class.
static int
PARENT_CHANGED
This indicates that the HIERARCHY_CHANGED is a changed parent.
static int
SHOWING_CHANGED
This indicates that the HIERARCHY_CHANGED is a changed visibility.

Fields inherited from class java.awt.AWTEvent

ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, 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, consumed, id

Fields inherited from class java.util.EventObject

source

Constructor Summary

HierarchyEvent(Component source, int id, Component changed, Container changedParent)
Initializes a new instance of HierarchyEvent with the specified parameters.
HierarchyEvent(Component source, int id, Component changed, Container changedParent, long changeFlags)
Initializes a new instance of HierarchyEvent with the specified parameters.

Method Summary

long
getChangeFlags()
If this is a HIERARCHY_CHANGED event, this returns a bitmask of the types of changes that took place.
Component
getChanged()
Returns the component at the top of the hierarchy which changed.
Container
getChangedParent()
Returns the parent of the component listed in getChanged().
Component
getComponent()
This method returns the event source as a Component.
String
paramString()
This method returns a string identifying this event.

Methods inherited from class java.awt.AWTEvent

consume, getID, isConsumed, paramString, setSource, toString

Methods inherited from class java.util.EventObject

getSource, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

ANCESTOR_MOVED

public static final int ANCESTOR_MOVED
This id indicates that an ancestor was moved.
Field Value:
1401

ANCESTOR_RESIZED

public static final int ANCESTOR_RESIZED
This id indicates that an ancestor was resized.
Field Value:
1402

DISPLAYABILITY_CHANGED

public static final int DISPLAYABILITY_CHANGED
This indicates that the HIERARCHY_CHANGED is caused by a change in displayability.
Field Value:
2

HIERARCHY_CHANGED

public static final int HIERARCHY_CHANGED
This id indicates that the hierarchy tree changed.
Field Value:
1400

HIERARCHY_FIRST

public static final int HIERARCHY_FIRST
This is the first id in the range of ids used by this class.
Field Value:
1400

HIERARCHY_LAST

public static final int HIERARCHY_LAST
This is the last id in the range of ids used by this class.
Field Value:
1402

PARENT_CHANGED

public static final int PARENT_CHANGED
This indicates that the HIERARCHY_CHANGED is a changed parent.
Field Value:
1

SHOWING_CHANGED

public static final int SHOWING_CHANGED
This indicates that the HIERARCHY_CHANGED is a changed visibility.
Field Value:
4

Constructor Details

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent)
Initializes a new instance of HierarchyEvent with the specified parameters. Note that an invalid id leads to unspecified results.
Parameters:
source - the component whose hierarchy changed
id - the event id
changed - the top component in the tree of changed hierarchy
changedParent - the updated parent of this object
Throws:
IllegalArgumentException - if source is null

HierarchyEvent

public HierarchyEvent(Component source,
                      int id,
                      Component changed,
                      Container changedParent,
                      long changeFlags)
Initializes a new instance of HierarchyEvent with the specified parameters. Note that an invalid id leads to unspecified results.
Parameters:
source - the component whose hierarchy changed
id - the event id
changed - the top component in the tree of changed hierarchy
changedParent - the updated parent of this object
changeFlags - the bitmask of specific HIERARCHY_CHANGED events
Throws:
IllegalArgumentException - if source is null

Method Details

getChangeFlags

public long getChangeFlags()
If this is a HIERARCHY_CHANGED event, this returns a bitmask of the types of changes that took place.
Returns:
the bitwise or of hierarchy change types, or 0

getChanged

public Component getChanged()
Returns the component at the top of the hierarchy which changed.
Returns:
the top changed component

getChangedParent

public Container getChangedParent()
Returns the parent of the component listed in getChanged(). If the cause of this event was Container.add, this is the new parent; if the cause was Container.remove, this is the old parent; otherwise it is the unchanged parent.
Returns:
the parent container of the changed component

getComponent

public Component getComponent()
This method returns the event source as a Component. If the source has subsequently been modified to a non-Component, this returns null.
Returns:
the event source as a Component, or null

paramString

public String paramString()
This method returns a string identifying this event. This is the field name of the id type, followed by a parenthesized listing of the changed component and its parent container. In addition, if the type is HIERARCHY_CHANGED, the flags preceed the changed component, in the order PARENT_CHANGED, DISPLAYABILITY_CHANGED, and SHOWING_CHANGED.
Overrides:
paramString in interface AWTEvent
Returns:
a string identifying this event

HierarchyEvent.java -- generated for a change in hierarchy Copyright (C) 2000, 2002 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.