java.awt.event

## 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 int` | `COMPONENT_ADDED` | This event indicates that a component was added to the container.
    `static int` | `COMPONENT_REMOVED` | This event indicates that a component was removed from the container.
    `static int` | `CONTAINER_FIRST` | The first number in the range of ids used for container events.
    `static int` | `CONTAINER_LAST` | The last number in the range of ids used for container events.

    - ### Fields inherited from class java.awt.event.ComponentEvent

      `COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`

    - ### 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

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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 inherited from class java.awt.event.ComponentEvent

      `getComponent`

    - ### 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

    - #### 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 Detail

    - #### 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 Detail

    - #### 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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.