Frame (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: java.awt, class: Frame
Keywords: java.awt.Frame class

# Class Frame

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame

All Implemented Interfaces:
  `ImageObserver, MenuContainer, Serializable, Accessible`

Direct Known Subclasses:
  `JFrame`

public class Frame extends Window implements MenuContainer
A `Frame` is a top-level window with a title and a border.

The size of the frame includes any area designated for the border. The dimensions of the border area may be obtained using the `getInsets` method, however, since these dimensions are platform-dependent, a valid insets value cannot be obtained until the frame is made displayable by either calling `pack` or `show`. Since the border area is included in the overall size of the frame, the border effectively obscures a portion of the frame, constraining the area available for rendering and/or displaying subcomponents to the rectangle which has an upper-left corner location of `(insets.left, insets.top)`, and has a size of `width - (insets.left + insets.right)` by `height - (insets.top + insets.bottom)`.

The default layout for a frame is `BorderLayout`.

A frame may have its native decorations (i.e. `Frame` and `Titlebar`) turned off with `setUndecorated`. This can only be done while the frame is not `displayable`.

In a multi-screen environment, you can create a `Frame` on a different screen device by constructing the `Frame` with `Frame(GraphicsConfiguration)` or `Frame(String title, GraphicsConfiguration)`. The `GraphicsConfiguration` object is one of the `GraphicsConfiguration` objects of the target screen device.

In a virtual device multi-screen environment in which the desktop area could span multiple physical screen devices, the bounds of all configurations are relative to the virtual-coordinate system. The origin of the virtual-coordinate system is at the upper left-hand corner of the primary physical screen. Depending on the location of the primary screen in the virtual device, negative coordinates are possible, as shown in the following figure.

In such an environment, when calling `setLocation`, you must pass a virtual coordinate to this method. Similarly, calling `getLocationOnScreen` on a `Frame` returns virtual device coordinates. Call the `getBounds` method of a `GraphicsConfiguration` to find its origin in the virtual coordinate system.

The following code sets the location of the `Frame` at (10, 10) relative to the origin of the physical screen of the corresponding `GraphicsConfiguration`. If the bounds of the `GraphicsConfiguration` is not taken into account, the `Frame` location would be set at (10, 10) relative to the virtual-coordinate system and would appear on the primary physical screen, which might be different from the physical screen of the specified `GraphicsConfiguration`.

         Frame f = new Frame(GraphicsConfiguration gc);
         Rectangle bounds = gc.getBounds();
         f.setLocation(10 + bounds.x, 10 + bounds.y);

Frames are capable of generating the following types of `WindowEvent`s:

- `WINDOW_OPENED`
- `WINDOW_CLOSING`:
  If the program doesn't explicitly hide or dispose the window while processing this event, the window close operation is canceled.
- `WINDOW_CLOSED`
- `WINDOW_ICONIFIED`
- `WINDOW_DEICONIFIED`
- `WINDOW_ACTIVATED`
- `WINDOW_DEACTIVATED`
- `WINDOW_GAINED_FOCUS`
- `WINDOW_LOST_FOCUS`
- `WINDOW_STATE_CHANGED`

Since:
  1.0
See Also:
  - `WindowEvent`
  - `Window.addWindowListener(WindowListener)`
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected class`
  `Frame.AccessibleAWTFrame`
  This class implements accessibility support for the `Frame` class.

  ### Nested classes/interfaces declared in class Window

  `Window.AccessibleAWTWindow, Window.Type`
  Modifier and Type
  Class
  Description
  `protected class`
  `Window.AccessibleAWTWindow`
  This class implements accessibility support for the `Window` class.
  `static enum`
  `Window.Type`
  Enumeration of available window types.

  ### Nested classes/interfaces declared in class Container

  `Container.AccessibleAWTContainer`
  Modifier and Type
  Class
  Description
  `protected class`
  `Container.AccessibleAWTContainer`
  Inner class of Container used to provide default support for accessibility.

  ### Nested classes/interfaces declared in class Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`
  Modifier and Type
  Class
  Description
  `protected class`
  `Component.AccessibleAWTComponent`
  Inner class of Component used to provide default support for accessibility.
  `static enum`
  `Component.BaselineResizeBehavior`
  Enumeration of the common ways the baseline of a component can change as the size changes.
  `protected class`
  `Component.BltBufferStrategy`
  Inner class for blitting offscreen surfaces to a component.
  `protected class`
  `Component.FlipBufferStrategy`
  Inner class for flipping buffers on a component.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `CROSSHAIR_CURSOR`
  Deprecated.
  replaced by `Cursor.CROSSHAIR_CURSOR`.
  `static final int`
  `DEFAULT_CURSOR`
  Deprecated.
  replaced by `Cursor.DEFAULT_CURSOR`.
  `static final int`
  `E_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.E_RESIZE_CURSOR`.
  `static final int`
  `HAND_CURSOR`
  Deprecated.
  replaced by `Cursor.HAND_CURSOR`.
  `static final int`
  `ICONIFIED`
  This state bit indicates that frame is iconified.
  `static final int`
  `MAXIMIZED_BOTH`
  This state bit mask indicates that frame is fully maximized (that is both horizontally and vertically).
  `static final int`
  `MAXIMIZED_HORIZ`
  This state bit indicates that frame is maximized in the horizontal direction.
  `static final int`
  `MAXIMIZED_VERT`
  This state bit indicates that frame is maximized in the vertical direction.
  `static final int`
  `MOVE_CURSOR`
  Deprecated.
  replaced by `Cursor.MOVE_CURSOR`.
  `static final int`
  `N_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.N_RESIZE_CURSOR`.
  `static final int`
  `NE_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.NE_RESIZE_CURSOR`.
  `static final int`
  `NORMAL`
  Frame is in the "normal" state.
  `static final int`
  `NW_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.NW_RESIZE_CURSOR`.
  `static final int`
  `S_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.S_RESIZE_CURSOR`.
  `static final int`
  `SE_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.SE_RESIZE_CURSOR`.
  `static final int`
  `SW_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.SW_RESIZE_CURSOR`.
  `static final int`
  `TEXT_CURSOR`
  Deprecated.
  replaced by `Cursor.TEXT_CURSOR`.
  `static final int`
  `W_RESIZE_CURSOR`
  Deprecated.
  replaced by `Cursor.W_RESIZE_CURSOR`.
  `static final int`
  `WAIT_CURSOR`
  Deprecated.
  replaced by `Cursor.WAIT_CURSOR`.

  ### Fields declared in class Component

  `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`
  Modifier and Type
  Field
  Description
  `protected AccessibleContext`
  `accessibleContext`
  The `AccessibleContext` associated with this `Component`.
  `static final float`
  `BOTTOM_ALIGNMENT`
  Ease-of-use constant for `getAlignmentY`.
  `static final float`
  `CENTER_ALIGNMENT`
  Ease-of-use constant for `getAlignmentY` and `getAlignmentX`.
  `static final float`
  `LEFT_ALIGNMENT`
  Ease-of-use constant for `getAlignmentX`.
  `static final float`
  `RIGHT_ALIGNMENT`
  Ease-of-use constant for `getAlignmentX`.
  `static final float`
  `TOP_ALIGNMENT`
  Ease-of-use constant for `getAlignmentY()`.

  ### Fields declared in interface ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`
  Modifier and Type
  Field
  Description
  `static final int`
  `ABORT`
  This flag in the infoflags argument to imageUpdate indicates that an image which was being tracked asynchronously was aborted before production was complete.
  `static final int`
  `ALLBITS`
  This flag in the infoflags argument to imageUpdate indicates that a static image which was previously drawn is now complete and can be drawn again in its final form.
  `static final int`
  `ERROR`
  This flag in the infoflags argument to imageUpdate indicates that an image which was being tracked asynchronously has encountered an error.
  `static final int`
  `FRAMEBITS`
  This flag in the infoflags argument to imageUpdate indicates that another complete frame of a multi-frame image which was previously drawn is now available to be drawn again.
  `static final int`
  `HEIGHT`
  This flag in the infoflags argument to imageUpdate indicates that the height of the base image is now available and can be taken from the height argument to the imageUpdate callback method.
  `static final int`
  `PROPERTIES`
  This flag in the infoflags argument to imageUpdate indicates that the properties of the image are now available.
  `static final int`
  `SOMEBITS`
  This flag in the infoflags argument to imageUpdate indicates that more pixels needed for drawing a scaled variation of the image are available.
  `static final int`
  `WIDTH`
  This flag in the infoflags argument to imageUpdate indicates that the width of the base image is now available and can be taken from the width argument to the imageUpdate callback method.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Frame()`
  Constructs a new instance of `Frame` that is initially invisible.
  `Frame(GraphicsConfiguration gc)`
  Constructs a new, initially invisible `Frame` with the specified `GraphicsConfiguration`.
  `Frame(String title)`
  Constructs a new, initially invisible `Frame` object with the specified title.
  `Frame(String title, GraphicsConfiguration gc)`
  Constructs a new, initially invisible `Frame` object with the specified title and a `GraphicsConfiguration`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addNotify()`
  Makes this Frame displayable by connecting it to a native screen resource.
  `AccessibleContext`
  `getAccessibleContext()`
  Gets the AccessibleContext associated with this Frame.
  `int`
  `getCursorType()`
  Deprecated.
  As of JDK version 1.1, replaced by `Component.getCursor()`.
  `int`
  `getExtendedState()`
  Gets the state of this frame.
  `static Frame[]`
  `getFrames()`
  Returns an array of all `Frame`s created by this application.
  `Image`
  `getIconImage()`
  Returns the image to be displayed as the icon for this frame.
  `Rectangle`
  `getMaximizedBounds()`
  Gets maximized bounds for this frame.
  `MenuBar`
  `getMenuBar()`
  Gets the menu bar for this frame.
  `int`
  `getState()`
  Gets the state of this frame (obsolete).
  `String`
  `getTitle()`
  Gets the title of the frame.
  `boolean`
  `isResizable()`
  Indicates whether this frame is resizable by the user.
  `boolean`
  `isUndecorated()`
  Indicates whether this frame is undecorated.
  `protected String`
  `paramString()`
  Returns a string representing the state of this `Frame`.
  `void`
  `remove(MenuComponent m)`
  Removes the specified menu bar from this frame.
  `void`
  `removeNotify()`
  Makes this Frame undisplayable by removing its connection to its native screen resource.
  `void`
  `setCursor(int cursorType)`
  Deprecated.
  As of JDK version 1.1, replaced by `Component.setCursor(Cursor)`.
  `void`
  `setExtendedState(int state)`
  Sets the state of this frame.
  `void`
  `setMaximizedBounds(Rectangle bounds)`
  Sets the maximized bounds for this frame.
  `void`
  `setMenuBar(MenuBar mb)`
  Sets the menu bar for this frame to the specified menu bar.
  `void`
  `setResizable(boolean resizable)`
  Sets whether this frame is resizable by the user.
  `void`
  `setState(int state)`
  Sets the state of this frame (obsolete).
  `void`
  `setTitle(String title)`
  Sets the title for this frame to the specified string.
  `void`
  `setUndecorated(boolean undecorated)`
  Disables or enables decorations for this frame.

  ### Methods declared in class Window

  `addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBackground, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setOpacity, setShape, setSize, setSize, setType, setVisible, show, toBack, toFront`
  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  Adds a PropertyChangeListener to the listener list.
  `void`
  `addPropertyChangeListener(String propertyName, PropertyChangeListener listener)`
  Adds a PropertyChangeListener to the listener list for a specific property.
  `void`
  `addWindowFocusListener(WindowFocusListener l)`
  Adds the specified window focus listener to receive window events from this window.
  `void`
  `addWindowListener(WindowListener l)`
  Adds the specified window listener to receive window events from this window.
  `void`
  `addWindowStateListener(WindowStateListener l)`
  Adds the specified window state listener to receive window events from this window.
  `void`
  `applyResourceBundle(String rbName)`
  Deprecated.
  As of J2SE 1.4, replaced by `Component.applyComponentOrientation`.
  `void`
  `applyResourceBundle(ResourceBundle rb)`
  Deprecated.
  As of J2SE 1.4, replaced by `Component.applyComponentOrientation`.
  `void`
  `createBufferStrategy(int numBuffers)`
  Creates a new strategy for multi-buffering on this component.
  `void`
  `createBufferStrategy(int numBuffers, BufferCapabilities caps)`
  Creates a new strategy for multi-buffering on this component with the required buffer capabilities.
  `void`
  `dispose()`
  Releases all of the native screen resources used by this `Window`, its subcomponents, and all of its owned children.
  `Color`
  `getBackground()`
  Gets the background color of this window.
  `BufferStrategy`
  `getBufferStrategy()`
  Returns the `BufferStrategy` used by this component.
  `boolean`
  `getFocusableWindowState()`
  Returns whether this Window can become the focused Window if it meets the other requirements outlined in `isFocusableWindow`.
  `final Container`
  `getFocusCycleRootAncestor()`
  Always returns `null` because Windows have no ancestors; they represent the top of the Component hierarchy.
  `Component`
  `getFocusOwner()`
  Returns the child Component of this Window that has focus if this Window is focused; returns null otherwise.
  `Set<AWTKeyStroke>`
  `getFocusTraversalKeys(int id)`
  Gets a focus traversal key for this Window.
  `List<Image>`
  `getIconImages()`
  Returns the sequence of images to be displayed as the icon for this window.
  `InputContext`
  `getInputContext()`
  Gets the input context for this window.
  `<T extends EventListener>
  T[]`
  `getListeners(Class<T> listenerType)`
  Returns an array of all the objects currently registered as `FooListener`s upon this `Window`.
  `Locale`
  `getLocale()`
  Gets the `Locale` object that is associated with this window, if the locale has been set.
  `Dialog.ModalExclusionType`
  `getModalExclusionType()`
  Returns the modal exclusion type of this window.
  `Component`
  `getMostRecentFocusOwner()`
  Returns the child Component of this Window that will receive the focus when this Window is focused.
  `float`
  `getOpacity()`
  Returns the opacity of the window.
  `Window[]`
  `getOwnedWindows()`
  Return an array containing all the windows this window currently owns.
  `Window`
  `getOwner()`
  Returns the owner of this window.
  `static Window[]`
  `getOwnerlessWindows()`
  Returns an array of all `Window`s created by this application that have no owner.
  `Shape`
  `getShape()`
  Returns the shape of the window.
  `Toolkit`
  `getToolkit()`
  Returns the toolkit of this frame.
  `Window.Type`
  `getType()`
  Returns the type of the window.
  `final String`
  `getWarningString()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  since JDK 24
  `WindowFocusListener[]`
  `getWindowFocusListeners()`
  Returns an array of all the window focus listeners registered on this window.
  `WindowListener[]`
  `getWindowListeners()`
  Returns an array of all the window listeners registered on this window.
  `static Window[]`
  `getWindows()`
  Returns an array of all `Window`s, both owned and ownerless, created by this application.
  `WindowStateListener[]`
  `getWindowStateListeners()`
  Returns an array of all the window state listeners registered on this window.
  `void`
  `hide()`
  Deprecated.
  As of JDK version 1.5, replaced by `Window.setVisible(boolean)`.
  `boolean`
  `isActive()`
  Returns whether this Window is active.
  `final boolean`
  `isAlwaysOnTop()`
  Returns whether this window is an always-on-top window.
  `boolean`
  `isAlwaysOnTopSupported()`
  Returns whether the always-on-top mode is supported for this window.
  `boolean`
  `isAutoRequestFocus()`
  Returns whether this window should receive focus on subsequently being shown (with a call to `setVisible(true)`), or being moved to the front (with a call to `Window.toFront()`).
  `final boolean`
  `isFocusableWindow()`
  Returns whether this Window can become the focused Window, that is, whether this Window or any of its subcomponents can become the focus owner.
  `final boolean`
  `isFocusCycleRoot()`
  Always returns `true` because all Windows must be roots of a focus traversal cycle.
  `boolean`
  `isFocused()`
  Returns whether this Window is focused.
  `boolean`
  `isLocationByPlatform()`
  Returns `true` if this Window will appear at the default location for the native windowing system the next time this Window is made visible.
  `boolean`
  `isOpaque()`
  Indicates if the window is currently opaque.
  `boolean`
  `isShowing()`
  Checks if this Window is showing on screen.
  `boolean`
  `isValidateRoot()`
  Indicates if this container is a validate root.
  `void`
  `pack()`
  Causes this Window to be sized to fit the preferred size and layouts of its subcomponents.
  `void`
  `paint(Graphics g)`
  Paints the container.
  `boolean`
  `postEvent(Event e)`
  Deprecated.
  As of JDK version 1.1 replaced by `dispatchEvent(AWTEvent)`.
  `protected void`
  `processEvent(AWTEvent e)`
  Processes events on this window.
  `protected void`
  `processWindowEvent(WindowEvent e)`
  Processes window events occurring on this window by dispatching them to any registered WindowListener objects.
  `protected void`
  `processWindowFocusEvent(WindowEvent e)`
  Processes window focus event occurring on this window by dispatching them to any registered WindowFocusListener objects.
  `protected void`
  `processWindowStateEvent(WindowEvent e)`
  Processes window state event occurring on this window by dispatching them to any registered `WindowStateListener` objects.
  `void`
  `removeWindowFocusListener(WindowFocusListener l)`
  Removes the specified window focus listener so that it no longer receives window events from this window.
  `void`
  `removeWindowListener(WindowListener l)`
  Removes the specified window listener so that it no longer receives window events from this window.
  `void`
  `removeWindowStateListener(WindowStateListener l)`
  Removes the specified window state listener so that it no longer receives window events from this window.
  `void`
  `reshape(int x, int y, int width, int height)`
  Deprecated.
  As of JDK version 1.1, replaced by `setBounds(int, int, int, int)`.
  `final void`
  `setAlwaysOnTop(boolean alwaysOnTop)`
  Sets whether this window should always be above other windows.
  `void`
  `setAutoRequestFocus(boolean autoRequestFocus)`
  Sets whether this window should receive focus on subsequently being shown (with a call to `setVisible(true)`), or being moved to the front (with a call to `Window.toFront()`).
  `void`
  `setBackground(Color bgColor)`
  Sets the background color of this window.
  `void`
  `setBounds(int x, int y, int width, int height)`
  Moves and resizes this component.
  `void`
  `setBounds(Rectangle r)`
  Moves and resizes this component to conform to the new bounding rectangle `r`.
  `void`
  `setCursor(Cursor cursor)`
  Set the cursor image to a specified cursor.
  `void`
  `setFocusableWindowState(boolean focusableWindowState)`
  Sets whether this Window can become the focused Window if it meets the other requirements outlined in `isFocusableWindow`.
  `final void`
  `setFocusCycleRoot(boolean focusCycleRoot)`
  Does nothing because Windows must always be roots of a focus traversal cycle.
  `void`
  `setIconImage(Image image)`
  Sets the image to be displayed as the icon for this window.
  `void`
  `setIconImages(List<? extends Image> icons)`
  Sets the sequence of images to be displayed as the icon for this window.
  `void`
  `setLocation(int x, int y)`
  Moves this component to a new location.
  `void`
  `setLocation(Point p)`
  Moves this component to a new location.
  `void`
  `setLocationByPlatform(boolean locationByPlatform)`
  Sets whether this Window should appear at the default location for the native windowing system or at the current location (returned by `getLocation`) the next time the Window is made visible.
  `void`
  `setLocationRelativeTo(Component c)`
  Sets the location of the window relative to the specified component according to the following scenarios.
  `void`
  `setMinimumSize(Dimension minimumSize)`
  Sets the minimum size of this window to a constant value.
  `void`
  `setModalExclusionType(Dialog.ModalExclusionType exclusionType)`
  Specifies the modal exclusion type for this window.
  `void`
  `setOpacity(float opacity)`
  Sets the opacity of the window.
  `void`
  `setShape(Shape shape)`
  Sets the shape of the window.
  `void`
  `setSize(int width, int height)`
  Resizes this component so that it has width `width` and height `height`.
  `void`
  `setSize(Dimension d)`
  Resizes this component so that it has width `d.width` and height `d.height`.
  `void`
  `setType(Window.Type type)`
  Sets the type of the window.
  `void`
  `setVisible(boolean b)`
  Shows or hides this `Window` depending on the value of parameter `b`.
  `void`
  `show()`
  Deprecated.
  As of JDK version 1.5, replaced by `Window.setVisible(boolean)`.
  `void`
  `toBack()`
  If this Window is visible, sends this Window to the back and may cause it to lose focus or activation if it is the focused or active Window.
  `void`
  `toFront()`
  If this Window is visible, brings this Window to the front and may make it the focused Window.

  ### Methods declared in class Container

  `add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree`
  Modifier and Type
  Method
  Description
  `Component`
  `add(Component comp)`
  Appends the specified component to the end of this container.
  `Component`
  `add(Component comp, int index)`
  Adds the specified component to this container at the given position.
  `void`
  `add(Component comp, Object constraints)`
  Adds the specified component to the end of this container.
  `void`
  `add(Component comp, Object constraints, int index)`
  Adds the specified component to this container with the specified constraints at the specified index.
  `Component`
  `add(String name, Component comp)`
  Adds the specified component to this container.
  `void`
  `addContainerListener(ContainerListener l)`
  Adds the specified container listener to receive container events from this container.
  `protected void`
  `addImpl(Component comp, Object constraints, int index)`
  Adds the specified component to this container at the specified index.
  `void`
  `applyComponentOrientation(ComponentOrientation o)`
  Sets the `ComponentOrientation` property of this container and all components contained within it.
  `boolean`
  `areFocusTraversalKeysSet(int id)`
  Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Container.
  `int`
  `countComponents()`
  Deprecated.
  As of JDK version 1.1, replaced by getComponentCount().
  `void`
  `deliverEvent(Event e)`
  Deprecated.
  As of JDK version 1.1, replaced by `dispatchEvent(AWTEvent e)`
  `void`
  `doLayout()`
  Causes this container to lay out its components.
  `Component`
  `findComponentAt(int x, int y)`
  Locates the visible child component that contains the specified position.
  `Component`
  `findComponentAt(Point p)`
  Locates the visible child component that contains the specified point.
  `float`
  `getAlignmentX()`
  Returns the alignment along the x axis.
  `float`
  `getAlignmentY()`
  Returns the alignment along the y axis.
  `Component`
  `getComponent(int n)`
  Gets the nth component in this container.
  `Component`
  `getComponentAt(int x, int y)`
  Locates the component that contains the x,y position.
  `Component`
  `getComponentAt(Point p)`
  Gets the component that contains the specified point.
  `int`
  `getComponentCount()`
  Gets the number of components in this panel.
  `Component[]`
  `getComponents()`
  Gets all the components in this container.
  `int`
  `getComponentZOrder(Component comp)`
  Returns the z-order index of the component inside the container.
  `ContainerListener[]`
  `getContainerListeners()`
  Returns an array of all the container listeners registered on this container.
  `FocusTraversalPolicy`
  `getFocusTraversalPolicy()`
  Returns the focus traversal policy that will manage keyboard traversal of this Container's children, or null if this Container is not a focus cycle root.
  `Insets`
  `getInsets()`
  Determines the insets of this container, which indicate the size of the container's border.
  `LayoutManager`
  `getLayout()`
  Gets the layout manager for this container.
  `Dimension`
  `getMaximumSize()`
  Returns the maximum size of this container.
  `Dimension`
  `getMinimumSize()`
  Returns the minimum size of this container.
  `Point`
  `getMousePosition(boolean allowChildren)`
  Returns the position of the mouse pointer in this `Container`'s coordinate space if the `Container` is under the mouse pointer, otherwise returns `null`.
  `Dimension`
  `getPreferredSize()`
  Returns the preferred size of this container.
  `Insets`
  `insets()`
  Deprecated.
  As of JDK version 1.1, replaced by `getInsets()`.
  `void`
  `invalidate()`
  Invalidates the container.
  `boolean`
  `isAncestorOf(Component c)`
  Checks if the component is contained in the component hierarchy of this container.
  `boolean`
  `isFocusCycleRoot(Container container)`
  Returns whether the specified Container is the focus cycle root of this Container's focus traversal cycle.
  `final boolean`
  `isFocusTraversalPolicyProvider()`
  Returns whether this container provides focus traversal policy.
  `boolean`
  `isFocusTraversalPolicySet()`
  Returns whether the focus traversal policy has been explicitly set for this Container.
  `void`
  `layout()`
  Deprecated.
  As of JDK version 1.1, replaced by `doLayout()`.
  `void`
  `list(PrintStream out, int indent)`
  Prints a listing of this container to the specified output stream.
  `void`
  `list(PrintWriter out, int indent)`
  Prints out a list, starting at the specified indentation, to the specified print writer.
  `Component`
  `locate(int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by `getComponentAt(int, int)`.
  `Dimension`
  `minimumSize()`
  Deprecated.
  As of JDK version 1.1, replaced by `getMinimumSize()`.
  `void`
  `paintComponents(Graphics g)`
  Paints each of the components in this container.
  `Dimension`
  `preferredSize()`
  Deprecated.
  As of JDK version 1.1, replaced by `getPreferredSize()`.
  `void`
  `print(Graphics g)`
  Prints the container.
  `void`
  `printComponents(Graphics g)`
  Prints each of the components in this container.
  `protected void`
  `processContainerEvent(ContainerEvent e)`
  Processes container events occurring on this container by dispatching them to any registered ContainerListener objects.
  `void`
  `remove(int index)`
  Removes the component, specified by `index`, from this container.
  `void`
  `remove(Component comp)`
  Removes the specified component from this container.
  `void`
  `removeAll()`
  Removes all the components from this container.
  `void`
  `removeContainerListener(ContainerListener l)`
  Removes the specified container listener so it no longer receives container events from this container.
  `void`
  `setComponentZOrder(Component comp, int index)`
  Moves the specified component to the specified z-order index in the container.
  `void`
  `setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)`
  Sets the focus traversal keys for a given traversal operation for this Container.
  `void`
  `setFocusTraversalPolicy(FocusTraversalPolicy policy)`
  Sets the focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root.
  `final void`
  `setFocusTraversalPolicyProvider(boolean provider)`
  Sets whether this container will be used to provide focus traversal policy.
  `void`
  `setFont(Font f)`
  Sets the font of this container.
  `void`
  `setLayout(LayoutManager mgr)`
  Sets the layout manager for this container.
  `void`
  `transferFocusDownCycle()`
  Transfers the focus down one focus traversal cycle.
  `void`
  `update(Graphics g)`
  Updates the container.
  `void`
  `validate()`
  Validates this container and all of its subcomponents.
  `protected void`
  `validateTree()`
  Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid).

  ### Methods declared in class Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`
  Modifier and Type
  Method
  Description
  `boolean`
  `action(Event evt, Object what)`
  Deprecated.
  As of JDK version 1.1, should register this component as ActionListener on component which fires action events.
  `void`
  `add(PopupMenu popup)`
  Adds the specified popup menu to the component.
  `void`
  `addComponentListener(ComponentListener l)`
  Adds the specified component listener to receive component events from this component.
  `void`
  `addFocusListener(FocusListener l)`
  Adds the specified focus listener to receive focus events from this component when this component gains input focus.
  `void`
  `addHierarchyBoundsListener(HierarchyBoundsListener l)`
  Adds the specified hierarchy bounds listener to receive hierarchy bounds events from this component when the hierarchy to which this container belongs changes.
  `void`
  `addHierarchyListener(HierarchyListener l)`
  Adds the specified hierarchy listener to receive hierarchy changed events from this component when the hierarchy to which this container belongs changes.
  `void`
  `addInputMethodListener(InputMethodListener l)`
  Adds the specified input method listener to receive input method events from this component.
  `void`
  `addKeyListener(KeyListener l)`
  Adds the specified key listener to receive key events from this component.
  `void`
  `addMouseListener(MouseListener l)`
  Adds the specified mouse listener to receive mouse events from this component.
  `void`
  `addMouseMotionListener(MouseMotionListener l)`
  Adds the specified mouse motion listener to receive mouse motion events from this component.
  `void`
  `addMouseWheelListener(MouseWheelListener l)`
  Adds the specified mouse wheel listener to receive mouse wheel events from this component.
  `Rectangle`
  `bounds()`
  Deprecated.
  As of JDK version 1.1, replaced by `getBounds()`.
  `int`
  `checkImage(Image image, int width, int height, ImageObserver observer)`
  Returns the status of the construction of a screen representation of the specified image.
  `int`
  `checkImage(Image image, ImageObserver observer)`
  Returns the status of the construction of a screen representation of the specified image.
  `protected AWTEvent`
  `coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)`
  Potentially coalesce an event being posted with an existing event.
  `boolean`
  `contains(int x, int y)`
  Checks whether this component "contains" the specified point, where `x` and `y` are defined to be relative to the coordinate system of this component.
  `boolean`
  `contains(Point p)`
  Checks whether this component "contains" the specified point, where the point's x and y coordinates are defined to be relative to the coordinate system of this component.
  `Image`
  `createImage(int width, int height)`
  Creates an off-screen drawable image to be used for double buffering.
  `Image`
  `createImage(ImageProducer producer)`
  Creates an image from the specified image producer.
  `VolatileImage`
  `createVolatileImage(int width, int height)`
  Creates a volatile off-screen drawable image to be used for double buffering.
  `VolatileImage`
  `createVolatileImage(int width, int height, ImageCapabilities caps)`
  Creates a volatile off-screen drawable image, with the given capabilities.
  `void`
  `disable()`
  Deprecated.
  As of JDK version 1.1, replaced by `setEnabled(boolean)`.
  `protected final void`
  `disableEvents(long eventsToDisable)`
  Disables the events defined by the specified event mask parameter from being delivered to this component.
  `final void`
  `dispatchEvent(AWTEvent e)`
  Dispatches an event to this component or one of its sub components.
  `void`
  `enable()`
  Deprecated.
  As of JDK version 1.1, replaced by `setEnabled(boolean)`.
  `void`
  `enable(boolean b)`
  Deprecated.
  As of JDK version 1.1, replaced by `setEnabled(boolean)`.
  `protected final void`
  `enableEvents(long eventsToEnable)`
  Enables the events defined by the specified event mask parameter to be delivered to this component.
  `void`
  `enableInputMethods(boolean enable)`
  Enables or disables input method support for this component.
  `protected void`
  `firePropertyChange(String propertyName, boolean oldValue, boolean newValue)`
  Support for reporting bound property changes for boolean properties.
  `void`
  `firePropertyChange(String propertyName, byte oldValue, byte newValue)`
  Reports a bound property change.
  `void`
  `firePropertyChange(String propertyName, char oldValue, char newValue)`
  Reports a bound property change.
  `void`
  `firePropertyChange(String propertyName, double oldValue, double newValue)`
  Reports a bound property change.
  `void`
  `firePropertyChange(String propertyName, float oldValue, float newValue)`
  Reports a bound property change.
  `protected void`
  `firePropertyChange(String propertyName, int oldValue, int newValue)`
  Support for reporting bound property changes for integer properties.
  `void`
  `firePropertyChange(String propertyName, long oldValue, long newValue)`
  Reports a bound property change.
  `void`
  `firePropertyChange(String propertyName, short oldValue, short newValue)`
  Reports a bound property change.
  `protected void`
  `firePropertyChange(String propertyName, Object oldValue, Object newValue)`
  Support for reporting bound property changes for Object properties.
  `int`
  `getBaseline(int width, int height)`
  Returns the baseline.
  `Component.BaselineResizeBehavior`
  `getBaselineResizeBehavior()`
  Returns an enum indicating how the baseline of the component changes as the size changes.
  `Rectangle`
  `getBounds()`
  Gets the bounds of this component in the form of a `Rectangle` object.
  `Rectangle`
  `getBounds(Rectangle rv)`
  Stores the bounds of this component into "return value" rv and return rv.
  `ColorModel`
  `getColorModel()`
  Gets the instance of `ColorModel` used to display the component on the output device.
  `ComponentListener[]`
  `getComponentListeners()`
  Returns an array of all the component listeners registered on this component.
  `ComponentOrientation`
  `getComponentOrientation()`
  Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.
  `Cursor`
  `getCursor()`
  Gets the cursor set in the component.
  `DropTarget`
  `getDropTarget()`
  Gets the `DropTarget` associated with this `Component`.
  `FocusListener[]`
  `getFocusListeners()`
  Returns an array of all the focus listeners registered on this component.
  `boolean`
  `getFocusTraversalKeysEnabled()`
  Returns whether focus traversal keys are enabled for this Component.
  `Font`
  `getFont()`
  Gets the font of this component.
  `FontMetrics`
  `getFontMetrics(Font font)`
  Gets the font metrics for the specified font.
  `Color`
  `getForeground()`
  Gets the foreground color of this component.
  `Graphics`
  `getGraphics()`
  Creates a graphics context for this component.
  `GraphicsConfiguration`
  `getGraphicsConfiguration()`
  Gets the `GraphicsConfiguration` associated with this `Component`.
  `int`
  `getHeight()`
  Returns the current height of this component.
  `HierarchyBoundsListener[]`
  `getHierarchyBoundsListeners()`
  Returns an array of all the hierarchy bounds listeners registered on this component.
  `HierarchyListener[]`
  `getHierarchyListeners()`
  Returns an array of all the hierarchy listeners registered on this component.
  `boolean`
  `getIgnoreRepaint()`
  Returns whether or not paint messages received from the operating system should be ignored.
  `InputMethodListener[]`
  `getInputMethodListeners()`
  Returns an array of all the input method listeners registered on this component.
  `InputMethodRequests`
  `getInputMethodRequests()`
  Gets the input method request handler which supports requests from input methods for this component.
  `KeyListener[]`
  `getKeyListeners()`
  Returns an array of all the key listeners registered on this component.
  `Point`
  `getLocation()`
  Gets the location of this component in the form of a point specifying the component's top-left corner.
  `Point`
  `getLocation(Point rv)`
  Stores the x,y origin of this component into "return value" rv and return rv.
  `Point`
  `getLocationOnScreen()`
  Gets the location of this component in the form of a point specifying the component's top-left corner in the screen's coordinate space.
  `MouseListener[]`
  `getMouseListeners()`
  Returns an array of all the mouse listeners registered on this component.
  `MouseMotionListener[]`
  `getMouseMotionListeners()`
  Returns an array of all the mouse motion listeners registered on this component.
  `Point`
  `getMousePosition()`
  Returns the position of the mouse pointer in this `Component`'s coordinate space if the `Component` is directly under the mouse pointer, otherwise returns `null`.
  `MouseWheelListener[]`
  `getMouseWheelListeners()`
  Returns an array of all the mouse wheel listeners registered on this component.
  `String`
  `getName()`
  Gets the name of the component.
  `Container`
  `getParent()`
  Gets the parent of this component.
  `PropertyChangeListener[]`
  `getPropertyChangeListeners()`
  Returns an array of all the property change listeners registered on this component.
  `PropertyChangeListener[]`
  `getPropertyChangeListeners(String propertyName)`
  Returns an array of all the listeners which have been associated with the named property.
  `Dimension`
  `getSize()`
  Returns the size of this component in the form of a `Dimension` object.
  `Dimension`
  `getSize(Dimension rv)`
  Stores the width/height of this component into "return value" rv and return rv.
  `final Object`
  `getTreeLock()`
  Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.
  `int`
  `getWidth()`
  Returns the current width of this component.
  `int`
  `getX()`
  Returns the current x coordinate of the components origin.
  `int`
  `getY()`
  Returns the current y coordinate of the components origin.
  `boolean`
  `gotFocus(Event evt, Object what)`
  Deprecated.
  As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
  `boolean`
  `handleEvent(Event evt)`
  Deprecated.
  As of JDK version 1.1 replaced by processEvent(AWTEvent).
  `boolean`
  `hasFocus()`
  Returns `true` if this `Component` is the focus owner.
  `boolean`
  `imageUpdate(Image img, int infoflags, int x, int y, int w, int h)`
  Repaints the component when the image has changed.
  `boolean`
  `inside(int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by contains(int, int).
  `boolean`
  `isBackgroundSet()`
  Returns whether the background color has been explicitly set for this Component.
  `boolean`
  `isCursorSet()`
  Returns whether the cursor has been explicitly set for this Component.
  `boolean`
  `isDisplayable()`
  Determines whether this component is displayable.
  `boolean`
  `isDoubleBuffered()`
  Returns true if this component is painted to an offscreen image ("buffer") that's copied to the screen later.
  `boolean`
  `isEnabled()`
  Determines whether this component is enabled.
  `boolean`
  `isFocusable()`
  Returns whether this Component can be focused.
  `boolean`
  `isFocusOwner()`
  Returns `true` if this `Component` is the focus owner.
  `boolean`
  `isFocusTraversable()`
  Deprecated.
  As of 1.4, replaced by `isFocusable()`.
  `boolean`
  `isFontSet()`
  Returns whether the font has been explicitly set for this Component.
  `boolean`
  `isForegroundSet()`
  Returns whether the foreground color has been explicitly set for this Component.
  `boolean`
  `isLightweight()`
  A lightweight component doesn't have a native toolkit peer.
  `boolean`
  `isMaximumSizeSet()`
  Returns true if the maximum size has been set to a non-`null` value otherwise returns false.
  `boolean`
  `isMinimumSizeSet()`
  Returns whether or not `setMinimumSize` has been invoked with a non-null value.
  `boolean`
  `isPreferredSizeSet()`
  Returns true if the preferred size has been set to a non-`null` value otherwise returns false.
  `boolean`
  `isValid()`
  Determines whether this component is valid.
  `boolean`
  `isVisible()`
  Determines whether this component should be visible when its parent is visible.
  `boolean`
  `keyDown(Event evt, int key)`
  Deprecated.
  As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
  `boolean`
  `keyUp(Event evt, int key)`
  Deprecated.
  As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
  `void`
  `list()`
  Prints a listing of this component to the standard system output stream `System.out`.
  `void`
  `list(PrintStream out)`
  Prints a listing of this component to the specified output stream.
  `void`
  `list(PrintWriter out)`
  Prints a listing to the specified print writer.
  `Point`
  `location()`
  Deprecated.
  As of JDK version 1.1, replaced by `getLocation()`.
  `boolean`
  `lostFocus(Event evt, Object what)`
  Deprecated.
  As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
  `boolean`
  `mouseDown(Event evt, int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
  `boolean`
  `mouseDrag(Event evt, int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
  `boolean`
  `mouseEnter(Event evt, int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
  `boolean`
  `mouseExit(Event evt, int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
  `boolean`
  `mouseMove(Event evt, int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
  `boolean`
  `mouseUp(Event evt, int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
  `void`
  `move(int x, int y)`
  Deprecated.
  As of JDK version 1.1, replaced by `setLocation(int, int)`.
  `void`
  `nextFocus()`
  Deprecated.
  As of JDK version 1.1, replaced by transferFocus().
  `void`
  `paintAll(Graphics g)`
  Paints this component and all of its subcomponents.
  `boolean`
  `prepareImage(Image image, int width, int height, ImageObserver observer)`
  Prepares an image for rendering on this component at the specified width and height.
  `boolean`
  `prepareImage(Image image, ImageObserver observer)`
  Prepares an image for rendering on this component.
  `void`
  `printAll(Graphics g)`
  Prints this component and all of its subcomponents.
  `protected void`
  `processComponentEvent(ComponentEvent e)`
  Processes component events occurring on this component by dispatching them to any registered `ComponentListener` objects.
  `protected void`
  `processFocusEvent(FocusEvent e)`
  Processes focus events occurring on this component by dispatching them to any registered `FocusListener` objects.
  `protected void`
  `processHierarchyBoundsEvent(HierarchyEvent e)`
  Processes hierarchy bounds events occurring on this component by dispatching them to any registered `HierarchyBoundsListener` objects.
  `protected void`
  `processHierarchyEvent(HierarchyEvent e)`
  Processes hierarchy events occurring on this component by dispatching them to any registered `HierarchyListener` objects.
  `protected void`
  `processInputMethodEvent(InputMethodEvent e)`
  Processes input method events occurring on this component by dispatching them to any registered `InputMethodListener` objects.
  `protected void`
  `processKeyEvent(KeyEvent e)`
  Processes key events occurring on this component by dispatching them to any registered `KeyListener` objects.
  `protected void`
  `processMouseEvent(MouseEvent e)`
  Processes mouse events occurring on this component by dispatching them to any registered `MouseListener` objects.
  `protected void`
  `processMouseMotionEvent(MouseEvent e)`
  Processes mouse motion events occurring on this component by dispatching them to any registered `MouseMotionListener` objects.
  `protected void`
  `processMouseWheelEvent(MouseWheelEvent e)`
  Processes mouse wheel events occurring on this component by dispatching them to any registered `MouseWheelListener` objects.
  `void`
  `removeComponentListener(ComponentListener l)`
  Removes the specified component listener so that it no longer receives component events from this component.
  `void`
  `removeFocusListener(FocusListener l)`
  Removes the specified focus listener so that it no longer receives focus events from this component.
  `void`
  `removeHierarchyBoundsListener(HierarchyBoundsListener l)`
  Removes the specified hierarchy bounds listener so that it no longer receives hierarchy bounds events from this component.
  `void`
  `removeHierarchyListener(HierarchyListener l)`
  Removes the specified hierarchy listener so that it no longer receives hierarchy changed events from this component.
  `void`
  `removeInputMethodListener(InputMethodListener l)`
  Removes the specified input method listener so that it no longer receives input method events from this component.
  `void`
  `removeKeyListener(KeyListener l)`
  Removes the specified key listener so that it no longer receives key events from this component.
  `void`
  `removeMouseListener(MouseListener l)`
  Removes the specified mouse listener so that it no longer receives mouse events from this component.
  `void`
  `removeMouseMotionListener(MouseMotionListener l)`
  Removes the specified mouse motion listener so that it no longer receives mouse motion events from this component.
  `void`
  `removeMouseWheelListener(MouseWheelListener l)`
  Removes the specified mouse wheel listener so that it no longer receives mouse wheel events from this component.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  Removes a PropertyChangeListener from the listener list.
  `void`
  `removePropertyChangeListener(String propertyName, PropertyChangeListener listener)`
  Removes a `PropertyChangeListener` from the listener list for a specific property.
  `void`
  `repaint()`
  Repaints this component.
  `void`
  `repaint(int x, int y, int width, int height)`
  Repaints the specified rectangle of this component.
  `void`
  `repaint(long tm)`
  Repaints the component.
  `void`
  `repaint(long tm, int x, int y, int width, int height)`
  Repaints the specified rectangle of this component within `tm` milliseconds.
  `void`
  `requestFocus()`
  Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
  `protected boolean`
  `requestFocus(boolean temporary)`
  Requests that this `Component` get the input focus, and that this `Component`'s top-level ancestor become the focused `Window`.
  `protected boolean`
  `requestFocus(boolean temporary, FocusEvent.Cause cause)`
  Requests by the reason of `cause` that this `Component` get the input focus, and that this `Component`'s top-level ancestor become the focused `Window`.
  `void`
  `requestFocus(FocusEvent.Cause cause)`
  Requests by the reason of `cause` that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
  `boolean`
  `requestFocusInWindow()`
  Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.
  `protected boolean`
  `requestFocusInWindow(boolean temporary)`
  Requests that this `Component` get the input focus, if this `Component`'s top-level ancestor is already the focused `Window`.
  `boolean`
  `requestFocusInWindow(FocusEvent.Cause cause)`
  Requests by the reason of `cause` that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.
  `void`
  `resize(int width, int height)`
  Deprecated.
  As of JDK version 1.1, replaced by `setSize(int, int)`.
  `void`
  `resize(Dimension d)`
  Deprecated.
  As of JDK version 1.1, replaced by `setSize(Dimension)`.
  `void`
  `revalidate()`
  Revalidates the component hierarchy up to the nearest validate root.
  `void`
  `setComponentOrientation(ComponentOrientation o)`
  Sets the language-sensitive orientation that is to be used to order the elements or text within this component.
  `void`
  `setDropTarget(DropTarget dt)`
  Associate a `DropTarget` with this component.
  `void`
  `setEnabled(boolean b)`
  Enables or disables this component, depending on the value of the parameter `b`.
  `void`
  `setFocusable(boolean focusable)`
  Sets the focusable state of this Component to the specified value.
  `void`
  `setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)`
  Sets whether focus traversal keys are enabled for this Component.
  `void`
  `setForeground(Color c)`
  Sets the foreground color of this component.
  `void`
  `setIgnoreRepaint(boolean ignoreRepaint)`
  Sets whether or not paint messages received from the operating system should be ignored.
  `void`
  `setLocale(Locale l)`
  Sets the locale of this component.
  `void`
  `setMaximumSize(Dimension maximumSize)`
  Sets the maximum size of this component to a constant value.
  `void`
  `setMixingCutoutShape(Shape shape)`
  Sets a 'mixing-cutout' shape for this lightweight component.
  `void`
  `setName(String name)`
  Sets the name of the component to the specified string.
  `void`
  `setPreferredSize(Dimension preferredSize)`
  Sets the preferred size of this component to a constant value.
  `void`
  `show(boolean b)`
  Deprecated.
  As of JDK version 1.1, replaced by `setVisible(boolean)`.
  `Dimension`
  `size()`
  Deprecated.
  As of JDK version 1.1, replaced by `getSize()`.
  `String`
  `toString()`
  Returns a string representation of this component and its values.
  `void`
  `transferFocus()`
  Transfers the focus to the next component, as though this Component were the focus owner.
  `void`
  `transferFocusBackward()`
  Transfers the focus to the previous component, as though this Component were the focus owner.
  `void`
  `transferFocusUpCycle()`
  Transfers the focus up one focus traversal cycle.

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

  - ### DEFAULT_CURSOR

    @Deprecated public static final int DEFAULT_CURSOR
    Deprecated.
    replaced by `Cursor.DEFAULT_CURSOR`.
    See Also:
      - Constant Field Values

  - ### CROSSHAIR_CURSOR

    @Deprecated public static final int CROSSHAIR_CURSOR
    Deprecated.
    replaced by `Cursor.CROSSHAIR_CURSOR`.
    See Also:
      - Constant Field Values

  - ### TEXT_CURSOR

    @Deprecated public static final int TEXT_CURSOR
    Deprecated.
    replaced by `Cursor.TEXT_CURSOR`.
    See Also:
      - Constant Field Values

  - ### WAIT_CURSOR

    @Deprecated public static final int WAIT_CURSOR
    Deprecated.
    replaced by `Cursor.WAIT_CURSOR`.
    See Also:
      - Constant Field Values

  - ### SW_RESIZE_CURSOR

    @Deprecated public static final int SW_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.SW_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### SE_RESIZE_CURSOR

    @Deprecated public static final int SE_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.SE_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### NW_RESIZE_CURSOR

    @Deprecated public static final int NW_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.NW_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### NE_RESIZE_CURSOR

    @Deprecated public static final int NE_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.NE_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### N_RESIZE_CURSOR

    @Deprecated public static final int N_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.N_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### S_RESIZE_CURSOR

    @Deprecated public static final int S_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.S_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### W_RESIZE_CURSOR

    @Deprecated public static final int W_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.W_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### E_RESIZE_CURSOR

    @Deprecated public static final int E_RESIZE_CURSOR
    Deprecated.
    replaced by `Cursor.E_RESIZE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### HAND_CURSOR

    @Deprecated public static final int HAND_CURSOR
    Deprecated.
    replaced by `Cursor.HAND_CURSOR`.
    See Also:
      - Constant Field Values

  - ### MOVE_CURSOR

    @Deprecated public static final int MOVE_CURSOR
    Deprecated.
    replaced by `Cursor.MOVE_CURSOR`.
    See Also:
      - Constant Field Values

  - ### NORMAL

    public static final int NORMAL
    Frame is in the "normal" state. This symbolic constant names a frame state with all state bits cleared.
    See Also:
      - `setExtendedState(int)`
      - `getExtendedState()`
      - Constant Field Values

  - ### ICONIFIED

    public static final int ICONIFIED
    This state bit indicates that frame is iconified.
    See Also:
      - `setExtendedState(int)`
      - `getExtendedState()`
      - Constant Field Values

  - ### MAXIMIZED_HORIZ

    public static final int MAXIMIZED_HORIZ
    This state bit indicates that frame is maximized in the horizontal direction.
    Since:
      1.4
    See Also:
      - `setExtendedState(int)`
      - `getExtendedState()`
      - Constant Field Values

  - ### MAXIMIZED_VERT

    public static final int MAXIMIZED_VERT
    This state bit indicates that frame is maximized in the vertical direction.
    Since:
      1.4
    See Also:
      - `setExtendedState(int)`
      - `getExtendedState()`
      - Constant Field Values

  - ### MAXIMIZED_BOTH

    public static final int MAXIMIZED_BOTH
    This state bit mask indicates that frame is fully maximized (that is both horizontally and vertically). It is just a convenience alias for `MAXIMIZED_VERT | MAXIMIZED_HORIZ`.

    Note that the correct test for frame being fully maximized is

            (state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH

    To test is frame is maximized in some direction use

            (state & Frame.MAXIMIZED_BOTH) != 0

    Since:
      1.4
    See Also:
      - `setExtendedState(int)`
      - `getExtendedState()`
      - Constant Field Values

- ## Constructor Details

  - ### Frame

    public Frame() throws HeadlessException
    Constructs a new instance of `Frame` that is initially invisible. The title of the `Frame` is empty.
    Throws:
      `HeadlessException` - when `GraphicsEnvironment.isHeadless()` returns `true`
    See Also:
      - `GraphicsEnvironment.isHeadless()`
      - `Component.setSize(int, int)`
      - `Component.setVisible(boolean)`

  - ### Frame

    public Frame(GraphicsConfiguration gc)
    Constructs a new, initially invisible `Frame` with the specified `GraphicsConfiguration`.
    Parameters:
      `gc` - the `GraphicsConfiguration` of the target screen device. If `gc` is `null`, the system default `GraphicsConfiguration` is assumed.
    Throws:
      `IllegalArgumentException` - if `gc` is not from a screen device.
      `HeadlessException` - when `GraphicsEnvironment.isHeadless()` returns `true`
    Since:
      1.3
    See Also:
      - `GraphicsEnvironment.isHeadless()`

  - ### Frame

    public Frame(String title) throws HeadlessException
    Constructs a new, initially invisible `Frame` object with the specified title.
    Parameters:
      `title` - the title to be displayed in the frame's border. A `null` value is treated as an empty string, "".
    Throws:
      `HeadlessException` - when `GraphicsEnvironment.isHeadless()` returns `true`
    See Also:
      - `GraphicsEnvironment.isHeadless()`
      - `Component.setSize(int, int)`
      - `Component.setVisible(boolean)`
      - `GraphicsConfiguration.getBounds()`

  - ### Frame

    public Frame(String title, GraphicsConfiguration gc)
    Constructs a new, initially invisible `Frame` object with the specified title and a `GraphicsConfiguration`.
    Parameters:
      `title` - the title to be displayed in the frame's border. A `null` value is treated as an empty string, "".
      `gc` - the `GraphicsConfiguration` of the target screen device. If `gc` is `null`, the system default `GraphicsConfiguration` is assumed.
    Throws:
      `IllegalArgumentException` - if `gc` is not from a screen device.
      `HeadlessException` - when `GraphicsEnvironment.isHeadless()` returns `true`
    Since:
      1.3
    See Also:
      - `GraphicsEnvironment.isHeadless()`
      - `Component.setSize(int, int)`
      - `Component.setVisible(boolean)`
      - `GraphicsConfiguration.getBounds()`

- ## Method Details

  - ### addNotify

    public void addNotify()
    Makes this Frame displayable by connecting it to a native screen resource. Making a frame displayable will cause any of its children to be made displayable. This method is called internally by the toolkit and should not be called directly by programs.
    Overrides:
      `addNotify` in class `Window`
    See Also:
      - `Component.isDisplayable()`
      - `removeNotify()`

  - ### getTitle

    public String getTitle()
    Gets the title of the frame. The title is displayed in the frame's border.
    Returns:
      the title of this frame, or an empty string ("") if this frame doesn't have a title.
    See Also:
      - `setTitle(String)`

  - ### setTitle

    public void setTitle(String title)
    Sets the title for this frame to the specified string.
    Parameters:
      `title` - the title to be displayed in the frame's border. A `null` value is treated as an empty string, "".
    See Also:
      - `getTitle()`

  - ### getIconImage

    public Image getIconImage()
    Returns the image to be displayed as the icon for this frame.

    This method is obsolete and kept for backward compatibility only. Use `Window.getIconImages()` instead.

    If a list of several images was specified as a Window's icon, this method will return the first item of the list.

    Returns:
      the icon image for this frame, or `null` if this frame doesn't have an icon image.
    See Also:
      - `Window.setIconImage(Image)`
      - `Window.getIconImages()`
      - `Window.setIconImages(List)`

  - ### getMenuBar

    public MenuBar getMenuBar()
    Gets the menu bar for this frame.
    Returns:
      the menu bar for this frame, or `null` if this frame doesn't have a menu bar.
    See Also:
      - `setMenuBar(MenuBar)`

  - ### setMenuBar

    public void setMenuBar(MenuBar mb)
    Sets the menu bar for this frame to the specified menu bar.
    Parameters:
      `mb` - the menu bar being set. If this parameter is `null` then any existing menu bar on this frame is removed.
    See Also:
      - `getMenuBar()`

  - ### isResizable

    public boolean isResizable()
    Indicates whether this frame is resizable by the user. By default, all frames are initially resizable.
    Returns:
      `true` if the user can resize this frame; `false` otherwise.
    See Also:
      - `setResizable(boolean)`

  - ### setResizable

    public void setResizable(boolean resizable)
    Sets whether this frame is resizable by the user.
    Parameters:
      `resizable` - `true` if this frame is resizable; `false` otherwise.
    See Also:
      - `isResizable()`

  - ### setState

    public void setState(int state)
    Sets the state of this frame (obsolete).

    In older versions of JDK a frame state could only be NORMAL or ICONIFIED. Since JDK 1.4 set of supported frame states is expanded and frame state is represented as a bitwise mask.

    For compatibility with applications developed earlier this method still accepts `Frame.NORMAL` and `Frame.ICONIFIED` only. The iconic state of the frame is only changed, other aspects of frame state are not affected by this method. If the state passed to this method is neither `Frame.NORMAL` nor `Frame.ICONIFIED` the method performs no actions at all.

    Note that if the state is not supported on a given platform, neither the state nor the return value of the `getState()` method will be changed. The application may determine whether a specific state is supported via the `Toolkit.isFrameStateSupported(int)` method.

    If the frame is currently visible on the screen (the `Window.isShowing()` method returns `true`), the developer should examine the return value of the `WindowEvent.getNewState()` method of the `WindowEvent` received through the `WindowStateListener` to determine that the state has actually been changed.

    If the frame is not visible on the screen, the events may or may not be generated. In this case the developer may assume that the state changes immediately after this method returns. Later, when the `setVisible(true)` method is invoked, the frame will attempt to apply this state. Receiving any `WindowEvent.WINDOW_STATE_CHANGED` events is not guaranteed in this case also.

    Parameters:
      `state` - either `Frame.NORMAL` or `Frame.ICONIFIED`.
    See Also:
      - `setExtendedState(int)`
      - `Window.addWindowStateListener(WindowStateListener)`

  - ### setExtendedState

    public void setExtendedState(int state)
    Sets the state of this frame. The state is represented as a bitwise mask.
    - `NORMAL`
      Indicates that no state bits are set.
    - `ICONIFIED`
    - `MAXIMIZED_HORIZ`
    - `MAXIMIZED_VERT`
    - `MAXIMIZED_BOTH`
      Concatenates `MAXIMIZED_HORIZ` and `MAXIMIZED_VERT`.

    Note that if the state is not supported on a given platform, neither the state nor the return value of the `getExtendedState()` method will be changed. The application may determine whether a specific state is supported via the `Toolkit.isFrameStateSupported(int)` method.

    If the frame is currently visible on the screen (the `Window.isShowing()` method returns `true`), the developer should examine the return value of the `WindowEvent.getNewState()` method of the `WindowEvent` received through the `WindowStateListener` to determine that the state has actually been changed.

    If the frame is not visible on the screen, the events may or may not be generated. In this case the developer may assume that the state changes immediately after this method returns. Later, when the `setVisible(true)` method is invoked, the frame will attempt to apply this state. Receiving any `WindowEvent.WINDOW_STATE_CHANGED` events is not guaranteed in this case also.

    Parameters:
      `state` - a bitwise mask of frame state constants
    Since:
      1.4
    See Also:
      - `Window.addWindowStateListener(WindowStateListener)`

  - ### getState

    public int getState()
    Gets the state of this frame (obsolete).

    In older versions of JDK a frame state could only be NORMAL or ICONIFIED. Since JDK 1.4 set of supported frame states is expanded and frame state is represented as a bitwise mask.

    For compatibility with old programs this method still returns `Frame.NORMAL` and `Frame.ICONIFIED` but it only reports the iconic state of the frame, other aspects of frame state are not reported by this method.

    Returns:
      `Frame.NORMAL` or `Frame.ICONIFIED`.
    See Also:
      - `setState(int)`
      - `getExtendedState()`

  - ### getExtendedState

    public int getExtendedState()
    Gets the state of this frame. The state is represented as a bitwise mask.
    - `NORMAL`
      Indicates that no state bits are set.
    - `ICONIFIED`
    - `MAXIMIZED_HORIZ`
    - `MAXIMIZED_VERT`
    - `MAXIMIZED_BOTH`
      Concatenates `MAXIMIZED_HORIZ` and `MAXIMIZED_VERT`.
    Returns:
      a bitwise mask of frame state constants
    Since:
      1.4
    See Also:
      - `setExtendedState(int)`

  - ### setMaximizedBounds

    public void setMaximizedBounds(Rectangle bounds)
    Sets the maximized bounds for this frame.

    When a frame is in maximized state the system supplies some defaults bounds. This method allows some or all of those system supplied values to be overridden.

    If `bounds` is `null`, accept bounds supplied by the system. If non-`null` you can override some of the system supplied values while accepting others by setting those fields you want to accept from system to `Integer.MAX_VALUE`.

    Note, the given maximized bounds are used as a hint for the native system, because the underlying platform may not support setting the location and/or size of the maximized windows. If that is the case, the provided values do not affect the appearance of the frame in the maximized state.

    Parameters:
      `bounds` - bounds for the maximized state
    Since:
      1.4
    See Also:
      - `getMaximizedBounds()`

  - ### getMaximizedBounds

    public Rectangle getMaximizedBounds()
    Gets maximized bounds for this frame. Some fields may contain `Integer.MAX_VALUE` to indicate that system supplied values for this field must be used.
    Returns:
      maximized bounds for this frame; may be `null`
    Since:
      1.4
    See Also:
      - `setMaximizedBounds(Rectangle)`

  - ### setUndecorated

    public void setUndecorated(boolean undecorated)
    Disables or enables decorations for this frame.

    This method can only be called while the frame is not displayable. To make this frame decorated, it must be opaque and have the default shape, otherwise the `IllegalComponentStateException` will be thrown. Refer to `Window.setShape(Shape)`, `Window.setOpacity(float)` and `Window.setBackground(Color)` for details

    Parameters:
      `undecorated` - `true` if no frame decorations are to be enabled; `false` if frame decorations are to be enabled
    Throws:
      `IllegalComponentStateException` - if the frame is displayable
      `IllegalComponentStateException` - if `undecorated` is `false`, and this frame does not have the default shape
      `IllegalComponentStateException` - if `undecorated` is `false`, and this frame opacity is less than `1.0f`
      `IllegalComponentStateException` - if `undecorated` is `false`, and the alpha value of this frame background color is less than `1.0f`
    Since:
      1.4
    See Also:
      - `isUndecorated()`
      - `Component.isDisplayable()`
      - `Window.getShape()`
      - `Window.getOpacity()`
      - `Window.getBackground()`
      - `JFrame.setDefaultLookAndFeelDecorated(boolean)`

  - ### isUndecorated

    public boolean isUndecorated()
    Indicates whether this frame is undecorated. By default, all frames are initially decorated.
    Returns:
      `true` if frame is undecorated; `false` otherwise.
    Since:
      1.4
    See Also:
      - `setUndecorated(boolean)`

  - ### remove

    public void remove(MenuComponent m)
    Removes the specified menu bar from this frame.
    Specified by:
      `remove` in interface `MenuContainer`
    Overrides:
      `remove` in class `Component`
    Parameters:
      `m` - the menu component to remove. If `m` is `null`, then no action is taken
    See Also:
      - `Component.add(PopupMenu)`

  - ### removeNotify

    public void removeNotify()
    Makes this Frame undisplayable by removing its connection to its native screen resource. Making a Frame undisplayable will cause any of its children to be made undisplayable. This method is called by the toolkit internally and should not be called directly by programs.
    Overrides:
      `removeNotify` in class `Container`
    See Also:
      - `Component.isDisplayable()`
      - `addNotify()`

  - ### paramString

    protected String paramString()
    Returns a string representing the state of this `Frame`. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.
    Overrides:
      `paramString` in class `Container`
    Returns:
      the parameter string of this frame

  - ### setCursor

    @Deprecated public void setCursor(int cursorType)
    Deprecated.
    As of JDK version 1.1, replaced by `Component.setCursor(Cursor)`.
    Sets the cursor for this frame to the specified type.
    Parameters:
      `cursorType` - the cursor type

  - ### getCursorType

    @Deprecated public int getCursorType()
    Deprecated.
    As of JDK version 1.1, replaced by `Component.getCursor()`.
    Returns:
      the cursor type for this frame

  - ### getFrames

    public static Frame[] getFrames()
    Returns an array of all `Frame`s created by this application.

    Warning: this method may return system created frames, such as a shared, hidden frame which is used by Swing. Applications should not assume the existence of these frames, nor should an application assume anything about these frames such as component positions, `LayoutManager`s or serialization.

    Note: To obtain a list of all ownerless windows, including ownerless `Dialog`s (introduced in release 1.6), use `Window.getOwnerlessWindows`.

    Returns:
      the array of all `Frame`s created by this application
    Since:
      1.2
    See Also:
      - `Window.getWindows()`
      - `Window.getOwnerlessWindows()`

  - ### getAccessibleContext

    public AccessibleContext getAccessibleContext()
    Gets the AccessibleContext associated with this Frame. For frames, the AccessibleContext takes the form of an AccessibleAWTFrame. A new AccessibleAWTFrame instance is created if necessary.
    Specified by:
      `getAccessibleContext` in interface `Accessible`
    Overrides:
      `getAccessibleContext` in class `Window`
    Returns:
      an AccessibleAWTFrame that serves as the AccessibleContext of this Frame
    Since:
      1.3