# Class ContainerEvent

java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.ContainerEvent

All Implemented Interfaces:
  `Serializable`

public class ContainerEvent extends ComponentEvent
A low-level event which indicates that a container's contents changed because a component was added or removed.

Container events are provided for notification purposes ONLY; The AWT will automatically handle changes to the containers contents internally so that the program works properly regardless of whether the program is receiving these events or not.

This low-level event is generated by a container object (such as a Panel) when a component is added to it or removed from it. The event is passed to every `ContainerListener` or `ContainerAdapter` object which registered to receive such events using the component's `addContainerListener` method. (`ContainerAdapter` objects implement the `ContainerListener` interface.) Each such listener object gets this `ContainerEvent` when the event occurs.

An unspecified behavior will be caused if the `id` parameter of any particular `ContainerEvent` instance is not in the range from `CONTAINER_FIRST` to `CONTAINER_LAST`.

Since:
  1.1
See Also:
  - `ContainerAdapter`
  - `ContainerListener`
  - Tutorial: Writing a Container Listener
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`COMPONENT_ADDED`
This event indicates that a component was added to the container.
`static final int`
`COMPONENT_REMOVED`
This event indicates that a component was removed from the container.
`static final int`
`CONTAINER_FIRST`
The first number in the range of ids used for container events.
`static final int`
`CONTAINER_LAST`
The last number in the range of ids used for container events.

### Fields declared in class ComponentEvent

`COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`
Modifier and Type
Field
Description
`static final int`
`COMPONENT_FIRST`
The first number in the range of ids used for component events.
`static final int`
`COMPONENT_HIDDEN`
This event indicates that the component was rendered invisible.
`static final int`
`COMPONENT_LAST`
The last number in the range of ids used for component events.
`static final int`
`COMPONENT_MOVED`
This event indicates that the component's position changed.
`static final int`
`COMPONENT_RESIZED`
This event indicates that the component's size changed.
`static final int`
`COMPONENT_SHOWN`
This event indicates that the component was made visible.

### Fields declared in class 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`
Modifier and Type
Field
Description
`static final long`
`ACTION_EVENT_MASK`
The event mask for selecting action events.
`static final long`
`ADJUSTMENT_EVENT_MASK`
The event mask for selecting adjustment events.
`static final long`
`COMPONENT_EVENT_MASK`
The event mask for selecting component events.
`protected boolean`
`consumed`
Controls whether or not the event is sent back down to the peer once the source has processed it - false means it's sent to the peer; true means it's not.
`static final long`
`CONTAINER_EVENT_MASK`
The event mask for selecting container events.
`static final long`
`FOCUS_EVENT_MASK`
The event mask for selecting focus events.
`static final long`
`HIERARCHY_BOUNDS_EVENT_MASK`
The event mask for selecting hierarchy bounds events.
`static final long`
`HIERARCHY_EVENT_MASK`
The event mask for selecting hierarchy events.
`protected int`
`id`
The event's id.
`static final long`
`INPUT_METHOD_EVENT_MASK`
The event mask for selecting input method events.
`static final long`
`INVOCATION_EVENT_MASK`
The event mask for selecting invocation events.
`static final long`
`ITEM_EVENT_MASK`
The event mask for selecting item events.
`static final long`
`KEY_EVENT_MASK`
The event mask for selecting key events.
`static final long`
`MOUSE_EVENT_MASK`
The event mask for selecting mouse events.
`static final long`
`MOUSE_MOTION_EVENT_MASK`
The event mask for selecting mouse motion events.
`static final long`
`MOUSE_WHEEL_EVENT_MASK`
The event mask for selecting mouse wheel events.
`static final long`
`PAINT_EVENT_MASK`
The event mask for selecting paint events.
`static final int`
`RESERVED_ID_MAX`
The maximum value for reserved AWT event IDs.
`static final long`
`TEXT_EVENT_MASK`
The event mask for selecting text events.
`static final long`
`WINDOW_EVENT_MASK`
The event mask for selecting window events.
`static final long`
`WINDOW_FOCUS_EVENT_MASK`
The event mask for selecting window focus events.
`static final long`
`WINDOW_STATE_EVENT_MASK`
The event mask for selecting window state events.

### Fields declared in class EventObject

`source`
Modifier and Type
Field
Description
`protected Object`
`source`
The object on which the Event initially occurred.

## Constructor Summary

Constructors
Constructor
Description
`ContainerEvent(Component source, int id, Component child)`
Constructs a `ContainerEvent` object.

## Method Summary

Modifier and Type
Method
Description
`Component`
`getChild()`
Returns the component that was affected by the event.
`Container`
`getContainer()`
Returns the originator of the event.
`String`
`paramString()`
Returns a parameter string identifying this event.

### Methods declared in class ComponentEvent

`getComponent`
Modifier and Type
Method
Description
`Component`
`getComponent()`
Returns the originator of the event.

### Methods declared in class AWTEvent

`consume, getID, isConsumed, setSource, toString`
Modifier and Type
Method
Description
`protected void`
`consume()`
Consumes this event, if this event can be consumed.
`int`
`getID()`
Returns the event type.
`protected boolean`
`isConsumed()`
Returns whether this event has been consumed.
`void`
`setSource(Object newSource)`
Retargets an event to a new source.
`String`
`toString()`
Returns a String representation of this object.

### Methods declared in class EventObject

`getSource`
Modifier and Type
Method
Description
`Object`
`getSource()`
The object on which the Event initially occurred.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Field Details

### CONTAINER_FIRST

public static final int CONTAINER_FIRST
The first number in the range of ids used for container events.

See Also:
  - Constant Field Values

### CONTAINER_LAST

public static final int CONTAINER_LAST
The last number in the range of ids used for container events.

See Also:
  - Constant Field Values

### COMPONENT_ADDED

public static final int COMPONENT_ADDED
This event indicates that a component was added to the container.

See Also:
  - Constant Field Values

### COMPONENT_REMOVED

public static final int COMPONENT_REMOVED
This event indicates that a component was removed from the container.

See Also:
  - Constant Field Values

## Constructor Details

### ContainerEvent

public ContainerEvent(Component source, int id, Component child)
Constructs a `ContainerEvent` object.

This method throws an `IllegalArgumentException` if `source` is `null`.

Parameters:
  `source` - The `Component` object (container) that originated the event
  `id` - An integer indicating the type of event. For information on allowable values, see the class description for `ContainerEvent`
  `child` - the component that was added or removed
Throws:
  `IllegalArgumentException` - if `source` is null
See Also:
  - `getContainer()`
  - `AWTEvent.getID()`
  - `getChild()`

## Method Details

### getContainer

public Container getContainer()
Returns the originator of the event.

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

### getChild

public Component getChild()
Returns the component that was affected by the event.

Returns:
  the Component object that was added or removed

### 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 `ComponentEvent`
Returns:
  a string identifying the event and its attributes