java.awt
Class Frame
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--java.awt.Window
|
+--java.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 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.
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.
Restrictions
Implementations of Frame in Personal Profile exhibit
certain restrictions, specifically:
- An implementation need not support more than a single Frame size.
In such a case, attempts to change the size of the Frame will fail silently.
See:
- An implementation may prohibit resizing of Frames by a user. In
such a case, attempts to make any Frame resizable will fail silently.
See:
- An implementation need not support more than a single Frame
location. In such a case, attempts to change the location of any
Frame will fail silently. See:
- An implementation may prohibit iconification. In
such a case, attempts to iconify any Frame will fail silently.
See:
- An implementation need not support a visible title on Frames.
In such a case, the methods
setTitle(java.lang.String)
and getTitle()
on all Frames behave as normal, but no title is visible to the user.
See:
- 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
|
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 . |
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. |
protected String |
paramString()
Returns the parameter String 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 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, dispose, getFocusOwner, getGraphicsConfiguration, getLocale, 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, addKeyListener, addMouseListener, addMouseMotionListener, addNotify, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, getBackground, getBounds, getBounds, getColorModel, getCursor, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getLocation, getLocation, getLocationOnScreen, getName, getParent, 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, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus |
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
- See Also:
- Constant Field Values
ICONIFIED
public static final int ICONIFIED
- See Also:
- Constant Field Values
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,
GraphicsConfiguration gc)
- Constructs a new, initially invisible
Frame
object
with the specified title and a
GraphicsConfiguration
.
Note: This operation is subject to
restriction
in Personal Profile.
- 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()
Frame
public Frame(String title)
- Constructs a new, initially invisible
Frame
object
with the specified title.
Note: This operation is subject to
restriction
in Personal Profile.
- 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()
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(java.lang.String)
setTitle
public void setTitle(String title)
- Sets the title for this frame to the specified string.
Note: This operation is subject to
restriction
in Personal Profile.
- Parameters:
title
- the title to be displayed in the frame's border- 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.
Note: This operation is subject to
restriction
in Personal Profile.
- 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: This operation is subject to
restriction
in Personal Profile.
- 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.- See Also:
Component.add(java.awt.PopupMenu)
paramString
protected String paramString()
- Returns the parameter String of this Frame.
- Overrides:
paramString
in class 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()
.
Java and Java 2D are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Copyright 1993 - 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303, U.S.A. All Rights Reserved.
Use of this specification is subject to this license.