Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

Copyright © 2006 Sun Microsystems, Inc. All rights reserved.

JSR 216 (Maintenance Release)

java.awt
Class Frame

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

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.

Diagram of virtual device encompassing three physical screens and one primary physical screen. The primary physical screen
 shows (0,0) coords while a different physical screen shows (-80,-100) coords.

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 WindowEvents:

Clarifications

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

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
          This state bit indicates that frame is 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
          Frame is in the "normal" state.
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
protected  void finalize()
          We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected.
 int getCursorType()
          Deprecated. As of JDK version 1.1, replaced by Component.getCursor().
 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.
 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 setCursor(int cursorType)
          Deprecated. As of JDK version 1.1, replaced by Component.setCursor(Cursor).
 void setIconImage(Image image)
          Sets the image to be 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.
 void setUndecorated(boolean undecorated)
          Disables or enables decorations for this frame.
 
Methods inherited from class java.awt.Window
addWindowFocusListener, addWindowListener, dispose, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getLocale, getMostRecentFocusOwner, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, removeWindowFocusListener, removeWindowListener, setCursor, setFocusableWindowState, setFocusCycleRoot, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getCursor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, 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, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
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.

See Also:
Constant Field Values

CROSSHAIR_CURSOR

public static final int CROSSHAIR_CURSOR
Deprecated. replaced by Cursor.CROSSHAIR_CURSOR.

See Also:
Constant Field Values

TEXT_CURSOR

public static final int TEXT_CURSOR
Deprecated. replaced by Cursor.TEXT_CURSOR.

See Also:
Constant Field Values

WAIT_CURSOR

public static final int WAIT_CURSOR
Deprecated. replaced by Cursor.WAIT_CURSOR.

See Also:
Constant Field Values

SW_RESIZE_CURSOR

public static final int SW_RESIZE_CURSOR
Deprecated. replaced by Cursor.SW_RESIZE_CURSOR.

See Also:
Constant Field Values

SE_RESIZE_CURSOR

public static final int SE_RESIZE_CURSOR
Deprecated. replaced by Cursor.SE_RESIZE_CURSOR.

See Also:
Constant Field Values

NW_RESIZE_CURSOR

public static final int NW_RESIZE_CURSOR
Deprecated. replaced by Cursor.NW_RESIZE_CURSOR.

See Also:
Constant Field Values

NE_RESIZE_CURSOR

public static final int NE_RESIZE_CURSOR
Deprecated. replaced by Cursor.NE_RESIZE_CURSOR.

See Also:
Constant Field Values

N_RESIZE_CURSOR

public static final int N_RESIZE_CURSOR
Deprecated. replaced by Cursor.N_RESIZE_CURSOR.

See Also:
Constant Field Values

S_RESIZE_CURSOR

public static final int S_RESIZE_CURSOR
Deprecated. replaced by Cursor.S_RESIZE_CURSOR.

See Also:
Constant Field Values

W_RESIZE_CURSOR

public static final int W_RESIZE_CURSOR
Deprecated. replaced by Cursor.W_RESIZE_CURSOR.

See Also:
Constant Field Values

E_RESIZE_CURSOR

public static final int E_RESIZE_CURSOR
Deprecated. replaced by Cursor.E_RESIZE_CURSOR.

See Also:
Constant Field Values

HAND_CURSOR

public static final int HAND_CURSOR
Deprecated. replaced by Cursor.HAND_CURSOR.

See Also:
Constant Field Values

MOVE_CURSOR

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:
Constant Field Values

ICONIFIED

public static final int ICONIFIED
This state bit indicates that frame is iconified.

See Also:
Constant Field Values
Constructor Detail

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)
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. This exception is always thrown 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. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
See Also:
GraphicsEnvironment.isHeadless(), 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 Object
Throws:
Throwable - the Exception raised by this method

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()
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(Image)

setIconImage

public void setIconImage(Image image)
Sets the image to be 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(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.

Note that if the state is not supported on a given platform, nothing will happen. The application may determine if a specific state is available via Toolkit.isFrameStateSupported(int state).

Parameters:
state - either Frame.NORMAL or Frame.ICONIFIED.
See Also:
getState()

getState

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

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

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.

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.
Since:
1.4
See Also:
isUndecorated(), Component.isDisplayable()

isUndecorated

public boolean isUndecorated()
Indicates whether this frame is undecorated.

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)

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

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().


JSR 216 (Maintenance Release)

Copyright © 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

For more information, please consult the JSR 216 specification.