Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class Frame

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--java.awt.Window
                        |
                        +--java.awt.Frame

All Implemented Interfaces:
  Accessible, ImageObserver, MenuContainer, Serializable

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 can 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.

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.

ALIGN=center HSPACE=10 VSPACE=7>

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 window events: WindowOpened, WindowClosing, WindowClosed, WindowIconified, WindowDeiconified, WindowActivated, WindowDeactivated.

Since:
  JDK1.0
See Also:
  `WindowEvent`, `Window.addWindowListener(java.awt.event.WindowListener)`, Serialized Form

Inner Class Summary
`protected class` | `Frame.AccessibleAWTFrame` This class implements accessibility support for the `Frame` class.

Inner classes inherited from class java.awt.Window
`Window.AccessibleAWTWindow`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent`

Field Summary
`static int` | `CROSSHAIR_CURSOR` Deprecated. replaced by `Cursor.CROSSHAIR_CURSOR`.
`static int` | `DEFAULT_CURSOR` Deprecated. replaced by `Cursor.DEFAULT_CURSOR`.
`static int` | `E_RESIZE_CURSOR` Deprecated. replaced by `Cursor.E_RESIZE_CURSOR`.
`static int` | `HAND_CURSOR` Deprecated. replaced by `Cursor.HAND_CURSOR`.
`static int` | `ICONIFIED`
`static int` | `MOVE_CURSOR` Deprecated. replaced by `Cursor.MOVE_CURSOR`.
`static int` | `N_RESIZE_CURSOR` Deprecated. replaced by `Cursor.N_RESIZE_CURSOR`.
`static int` | `NE_RESIZE_CURSOR` Deprecated. replaced by `Cursor.NE_RESIZE_CURSOR`.
`static int` | `NORMAL`
`static int` | `NW_RESIZE_CURSOR` Deprecated. replaced by `Cursor.NW_RESIZE_CURSOR`.
`static int` | `S_RESIZE_CURSOR` Deprecated. replaced by `Cursor.S_RESIZE_CURSOR`.
`static int` | `SE_RESIZE_CURSOR` Deprecated. replaced by `Cursor.SE_RESIZE_CURSOR`.
`static int` | `SW_RESIZE_CURSOR` Deprecated. replaced by `Cursor.SW_RESIZE_CURSOR`.
`static int` | `TEXT_CURSOR` Deprecated. replaced by `Cursor.TEXT_CURSOR`.
`static int` | `W_RESIZE_CURSOR` Deprecated. replaced by `Cursor.W_RESIZE_CURSOR`.
`static int` | `WAIT_CURSOR` Deprecated. replaced by `Cursor.WAIT_CURSOR`.

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`Frame()` Constructs a new instance of `Frame` that is initially invisible.
`Frame(GraphicsConfiguration gc)` Create a `Frame` with the specified `GraphicsConfiguration` of a screen device.
`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
`void` | `addNotify()` Makes this Frame displayable by connecting it to a native screen resource.
`protected void` | `finalize()` We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected.
`AccessibleContext` | `getAccessibleContext()` Gets the AccessibleContext associated with this Frame.
`int` | `getCursorType()` Deprecated. As of JDK version 1.1, replaced by `Component.getCursor()`.
`static Frame[]` | `getFrames()` Returns an array containing all Frames created by the application.
`Image` | `getIconImage()` Gets the image to be displayed in the minimized icon for this frame.
`MenuBar` | `getMenuBar()` Gets the menu bar for this frame.
`int` | `getState()` Gets the state of this frame.
`String` | `getTitle()` Gets the title of the frame.
`boolean` | `isResizable()` Indicates whether this frame is resizable by the user.
`protected String` | `paramString()` Returns the parameter String 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` | `setIconImage(Image image)` Sets the image to displayed in the minimized icon 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.
`void` | `setTitle(String title)` Sets the title for this frame to the specified string.

Methods inherited from class java.awt.Window
`addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.awt.MenuContainer
`getFont, postEvent`

Field Detail

### DEFAULT_CURSOR

    public static final int DEFAULT_CURSOR

  Deprecated. replaced by `Cursor.DEFAULT_CURSOR`.

### CROSSHAIR_CURSOR

    public static final int CROSSHAIR_CURSOR

  Deprecated. replaced by `Cursor.CROSSHAIR_CURSOR`.

### TEXT_CURSOR

    public static final int TEXT_CURSOR

  Deprecated. replaced by `Cursor.TEXT_CURSOR`.

### WAIT_CURSOR

    public static final int WAIT_CURSOR

  Deprecated. replaced by `Cursor.WAIT_CURSOR`.

### SW_RESIZE_CURSOR

    public static final int SW_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.SW_RESIZE_CURSOR`.

### SE_RESIZE_CURSOR

    public static final int SE_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.SE_RESIZE_CURSOR`.

### NW_RESIZE_CURSOR

    public static final int NW_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.NW_RESIZE_CURSOR`.

### NE_RESIZE_CURSOR

    public static final int NE_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.NE_RESIZE_CURSOR`.

### N_RESIZE_CURSOR

    public static final int N_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.N_RESIZE_CURSOR`.

### S_RESIZE_CURSOR

    public static final int S_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.S_RESIZE_CURSOR`.

### W_RESIZE_CURSOR

    public static final int W_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.W_RESIZE_CURSOR`.

### E_RESIZE_CURSOR

    public static final int E_RESIZE_CURSOR

  Deprecated. replaced by `Cursor.E_RESIZE_CURSOR`.

### HAND_CURSOR

    public static final int HAND_CURSOR

  Deprecated. replaced by `Cursor.HAND_CURSOR`.

### MOVE_CURSOR

    public static final int MOVE_CURSOR

  Deprecated. replaced by `Cursor.MOVE_CURSOR`.

### NORMAL

    public static final int NORMAL

### ICONIFIED

    public static final int ICONIFIED

Constructor Detail

### Frame

    public Frame()

  Constructs a new instance of `Frame` that is initially invisible. The title of the `Frame` is empty.
  See Also:
    `Component.setSize(int, int)`, `Component.setVisible(boolean)`

### Frame

    public Frame(GraphicsConfiguration gc)

  Create a `Frame` with the specified `GraphicsConfiguration` of a screen device.
  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.
  Since:
    1.3

### Frame

    public Frame(String title)

  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:
    `IllegalArgumentException` - if gc is not from a screen device.
  See Also:
    `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.
  See Also:
    `Component.setSize(int, int)`, `Component.setVisible(boolean)`, `GraphicsConfiguration.getBounds()`

Method Detail

### finalize

    protected void finalize()
                     throws Throwable

  We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected.
  Overrides:
    `finalize` in class `Window`
  Following copied from class: `java.lang.Object`
  Throws:
    `Throwable` - the `Exception` raised by this method

### 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(java.lang.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
    `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()

  Gets the image to be displayed in the minimized icon for this frame.
  Returns:
    the icon image for this frame, or `null` if this frame doesn't have an icon image.
  See Also:
    `setIconImage(java.awt.Image)`

### setIconImage

    public void setIconImage(Image image)

  Sets the image to displayed in the minimized icon for this frame. Not all platforms support the concept of minimizing a window.
  Parameters:
    `image` - the icon image to be displayed. If this parameter is `null` then the icon image is set to the default image, which may vary with platform.
  See Also:
    `getIconImage()`

### 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(java.awt.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.
  Parameters:
    `state` - `Frame.ICONIFIED` if this frame is in iconic state; `Frame.NORMAL` if this frame is in normal state.
  See Also:
    `getState()`

### getState

    public int getState()

  Gets the state of this frame.
  Returns:
    `Frame.ICONIFIED` if frame in iconic state; `Frame.NORMAL` if frame is in normal state.
  See Also:
    `setState(int)`

### 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 this parameter is `null` then a NullPointerException is thrown and no action is taken.

### 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 the parameter String of this Frame.
  Overrides:
    `paramString` in class `Container`
  Following copied from class: `java.awt.Container`
  Returns:
    the parameter string of this container.

### setCursor

    public void setCursor(int cursorType)

  Deprecated. As of JDK version 1.1, replaced by `Component.setCursor(Cursor)`.

### getCursorType

    public int getCursorType()

  Deprecated. As of JDK version 1.1, replaced by `Component.getCursor()`.

### getFrames

    public static Frame[] getFrames()

  Returns an array containing all Frames created by the application. If called from an applet, the array will only include the Frames accessible by that applet.
  Since:
    1.2

### 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.
  Overrides:
    `getAccessibleContext` in class `Window`
  Returns:
    an AccessibleAWTFrame that serves as the AccessibleContext of this Frame

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.