This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.awt
class Frame

java.lang.Object extended by java.awt.Component extended by java.awt.Container extended by java.awt.Window extended by java.awt.Frame
All Implemented Interfaces:
MenuContainer, ImageObserver, Serializable, Accessible
Direct Known Subclasses:
JFrame

Most common way to construct:

Frame frame = new Frame();

Based on 15 examples


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 {@link Component#isDisplayable() displayable}.

In a multi-screen environment, you can create a Frame on a different screen device by constructing the Frame with {@link #Frame(GraphicsConfiguration)} or {@link #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:


Nested Class Summary
protected class

           This class implements accessibility support for the Frame class.
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
   
Field Summary
static int CROSSHAIR_CURSOR
          
static int DEFAULT_CURSOR
          
static int E_RESIZE_CURSOR
          
static int HAND_CURSOR
          
static int ICONIFIED
          This state bit indicates that frame is iconified.
static int MAXIMIZED_BOTH
          This state bit mask indicates that frame is fully maximized (that is both horizontally and vertically).
static int MAXIMIZED_HORIZ
          This state bit indicates that frame is maximized in the horizontal direction.
static int MAXIMIZED_VERT
          This state bit indicates that frame is maximized in the vertical direction.
static int MOVE_CURSOR
          
static int NE_RESIZE_CURSOR
          
static int NORMAL
          Frame is in the "normal" state.
static int NW_RESIZE_CURSOR
          
static int N_RESIZE_CURSOR
          
static int SE_RESIZE_CURSOR
          
static int SW_RESIZE_CURSOR
          
static int S_RESIZE_CURSOR
          
static int TEXT_CURSOR
          
static int WAIT_CURSOR
          
static int W_RESIZE_CURSOR
          
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary

          Constructs a new instance of Frame that is initially invisible.

          Constructs a new, initially invisible with the specified .
Frame(String title)

          Constructs a new, initially invisible Frame object with the specified title.

          Constructs a new, initially invisible Frame object with the specified title and a GraphicsConfiguration.
 
Method Summary
 void

          Makes this Frame displayable by connecting it to a native screen resource.
 AccessibleContext

          Gets the AccessibleContext associated with this Frame.
 int

          
 int

          Gets the state of this frame.
static Frame[]

          Returns an array of all s created by this application.
 Image

          Returns the image to be displayed as the icon for this frame.
 Rectangle

          Gets maximized bounds for this frame.
 MenuBar

          Gets the menu bar for this frame.
 int

          Gets the state of this frame (obsolete).
 String

          Gets the title of the frame.
 boolean

          Indicates whether this frame is resizable by the user.
 boolean

          Indicates whether this frame is undecorated.
protected String

          Returns a string representing the state of this Frame.
 void

          Removes the specified menu bar from this frame.
 void

          Makes this Frame undisplayable by removing its connection to its native screen resource.
 void
setCursor(int cursorType)

          
 void
setExtendedState(int state)

          Sets the state of this frame.
 void

          Sets the image to be displayed as the icon for this window.
 void

          Sets the maximized bounds for this frame.
 void

          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

          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
addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getAccessibleContext, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CROSSHAIR_CURSOR

public static final int CROSSHAIR_CURSOR

DEFAULT_CURSOR

public static final int DEFAULT_CURSOR

E_RESIZE_CURSOR

public static final int E_RESIZE_CURSOR

HAND_CURSOR

public static final int HAND_CURSOR

ICONIFIED

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

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
 

MAXIMIZED_HORIZ

public static final int MAXIMIZED_HORIZ
This state bit indicates that frame is maximized in the horizontal direction.

MAXIMIZED_VERT

public static final int MAXIMIZED_VERT
This state bit indicates that frame is maximized in the vertical direction.

MOVE_CURSOR

public static final int MOVE_CURSOR

NE_RESIZE_CURSOR

public static final int NE_RESIZE_CURSOR

NORMAL

public static final int NORMAL
Frame is in the "normal" state. This symbolic constant names a frame state with all state bits cleared.

NW_RESIZE_CURSOR

public static final int NW_RESIZE_CURSOR

N_RESIZE_CURSOR

public static final int N_RESIZE_CURSOR

SE_RESIZE_CURSOR

public static final int SE_RESIZE_CURSOR

SW_RESIZE_CURSOR

public static final int SW_RESIZE_CURSOR

S_RESIZE_CURSOR

public static final int S_RESIZE_CURSOR

TEXT_CURSOR

public static final int TEXT_CURSOR

WAIT_CURSOR

public static final int WAIT_CURSOR

W_RESIZE_CURSOR

public static final int W_RESIZE_CURSOR
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

Frame

public Frame(GraphicsConfiguration gc)
Constructs a new, initially invisible {@code Frame} with the specified {@code GraphicsConfiguration}.

Parameters:
gc - the GraphicsConfiguration of the target screen device. If gc is null, the system default GraphicsConfiguration is assumed.

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

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.
Method Detail

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

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

getCursorType

public int getCursorType()

getExtendedState

public synchronized int getExtendedState()
Gets the state of this frame. The state is represented as a bitwise mask.

Returns:
a bitwise mask of frame state constants

getFrames

public static Frame[] getFrames()
Returns an array of all {@code Frame}s created by this application. If called from an applet, the array includes only the {@code Frame}s accessible by that applet.

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, LayoutManagers or serialization.

Note: To obtain a list of all ownerless windows, including ownerless {@code Dialog}s (introduced in release 1.6), use {@link Window#getOwnerlessWindows Window.getOwnerlessWindows}.


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 {@link Window#getIconImages 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.

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

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.

getState

public synchronized 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.

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.

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.

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.

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

remove

public void remove(MenuComponent m)
Removes the specified menu bar from this frame.

Overrides:
remove in class Component
Parameters:
m - the menu component to remove. If m is null, then 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 Window

setCursor

public void setCursor(int cursorType)
Parameters:
cursorType

setExtendedState

public synchronized void setExtendedState(int state)
Sets the state of this frame. The state is represented as a bitwise mask.

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 the java.awt.Toolkit#isFrameStateSupported(int state) method.

Parameters:
state - a bitwise mask of frame state constants

setIconImage

public void setIconImage(Image image)
{@inheritDoc}

Overrides:
setIconImage in class Window
Parameters:
image

setMaximizedBounds

public synchronized 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.

On some systems only the size portion of the bounds is taken into account.

Parameters:
bounds - bounds for the maximized state

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.

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.

setState

public synchronized 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 old programs this method still accepts Frame.NORMAL and Frame.ICONIFIED but it only changes the iconic state of the frame, other aspects of frame state are not affected by this method.

Parameters:
state - either Frame.NORMAL or Frame.ICONIFIED.

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, "".

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.


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.