java.lang.Object | ||||
↳ | java.awt.Component | |||
↳ | java.awt.Container | |||
↳ | java.awt.Window | |||
↳ | java.awt.Frame |
Known Direct Subclasses |
Known Indirect Subclasses |
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, 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
:
WINDOW_CLOSED
WINDOW_ICONIFIED
WINDOW_DEICONIFIED
WINDOW_ACTIVATED
WINDOW_DEACTIVATED
WINDOW_GAINED_FOCUS
WINDOW_LOST_FOCUS
WINDOW_STATE_CHANGED
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Frame.AccessibleAWTFrame | This class implements accessibility support for the
Frame class. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | CROSSHAIR_CURSOR |
This constant is deprecated.
replaced by Cursor.CROSSHAIR_CURSOR .
|
|||||||||
int | DEFAULT_CURSOR |
This constant is deprecated.
replaced by Cursor.DEFAULT_CURSOR .
|
|||||||||
int | E_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.E_RESIZE_CURSOR .
|
|||||||||
int | HAND_CURSOR |
This constant is deprecated.
replaced by Cursor.HAND_CURSOR .
|
|||||||||
int | ICONIFIED | This state bit indicates that frame is iconified. | |||||||||
int | MAXIMIZED_BOTH | This state bit mask indicates that frame is fully maximized (that is both horizontally and vertically). | |||||||||
int | MAXIMIZED_HORIZ | This state bit indicates that frame is maximized in the horizontal direction. | |||||||||
int | MAXIMIZED_VERT | This state bit indicates that frame is maximized in the vertical direction. | |||||||||
int | MOVE_CURSOR |
This constant is deprecated.
replaced by Cursor.MOVE_CURSOR .
|
|||||||||
int | NE_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.NE_RESIZE_CURSOR .
|
|||||||||
int | NORMAL | Frame is in the "normal" state. | |||||||||
int | NW_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.NW_RESIZE_CURSOR .
|
|||||||||
int | N_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.N_RESIZE_CURSOR .
|
|||||||||
int | SE_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.SE_RESIZE_CURSOR .
|
|||||||||
int | SW_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.SW_RESIZE_CURSOR .
|
|||||||||
int | S_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.S_RESIZE_CURSOR .
|
|||||||||
int | TEXT_CURSOR |
This constant is deprecated.
replaced by Cursor.TEXT_CURSOR .
|
|||||||||
int | WAIT_CURSOR |
This constant is deprecated.
replaced by Cursor.WAIT_CURSOR .
|
|||||||||
int | W_RESIZE_CURSOR |
This constant is deprecated.
replaced by Cursor.W_RESIZE_CURSOR .
|
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.awt.Component
| |||||||||||
From interface
java.awt.image.ImageObserver
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new instance of
Frame that is
initially invisible. | |||||||||||
Constructs a new, initially invisible
Frame with the
specified GraphicsConfiguration . | |||||||||||
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 . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Makes this Frame displayable by connecting it to
a native screen resource.
| |||||||||||
Gets the AccessibleContext associated with this Frame.
| |||||||||||
This method is deprecated.
As of JDK version 1.1,
replaced by
Component.getCursor() .
| |||||||||||
Gets the state of this frame.
| |||||||||||
Returns an array of all
Frame s created by this application. | |||||||||||
Returns the image to be displayed as the icon for this frame.
| |||||||||||
Gets maximized bounds for this frame.
| |||||||||||
Gets the menu bar for this frame.
| |||||||||||
Gets the state of this frame (obsolete).
| |||||||||||
Gets the title of the frame.
| |||||||||||
Indicates whether this frame is resizable by the user.
| |||||||||||
Indicates whether this frame is undecorated.
| |||||||||||
Removes the specified menu bar from this frame.
| |||||||||||
Makes this Frame undisplayable by removing its connection
to its native screen resource.
| |||||||||||
This method is deprecated.
As of JDK version 1.1,
replaced by
Component.setCursor(Cursor) .
| |||||||||||
Sets the state of this frame.
| |||||||||||
Sets the image to be displayed as the icon for this window.
| |||||||||||
Sets the maximized bounds for this frame.
| |||||||||||
Sets the menu bar for this frame to the specified menu bar.
| |||||||||||
Sets whether this frame is resizable by the user.
| |||||||||||
Sets the state of this frame (obsolete).
| |||||||||||
Sets the title for this frame to the specified string.
| |||||||||||
Disables or enables decorations for this frame.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns a string representing the state of this
Frame . |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.awt.Window
| |||||||||||
From class
java.awt.Container
| |||||||||||
From class
java.awt.Component
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.awt.MenuContainer
| |||||||||||
From interface
java.awt.image.ImageObserver
| |||||||||||
From interface
javax.accessibility.Accessible
|
This constant is deprecated.
replaced by Cursor.CROSSHAIR_CURSOR
.
This constant is deprecated.
replaced by Cursor.DEFAULT_CURSOR
.
This constant is deprecated.
replaced by Cursor.E_RESIZE_CURSOR
.
This constant is deprecated.
replaced by Cursor.HAND_CURSOR
.
This state bit indicates that frame is iconified.
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
This state bit indicates that frame is maximized in the horizontal direction.
This state bit indicates that frame is maximized in the vertical direction.
This constant is deprecated.
replaced by Cursor.MOVE_CURSOR
.
This constant is deprecated.
replaced by Cursor.NE_RESIZE_CURSOR
.
Frame is in the "normal" state. This symbolic constant names a frame state with all state bits cleared.
This constant is deprecated.
replaced by Cursor.NW_RESIZE_CURSOR
.
This constant is deprecated.
replaced by Cursor.N_RESIZE_CURSOR
.
This constant is deprecated.
replaced by Cursor.SE_RESIZE_CURSOR
.
This constant is deprecated.
replaced by Cursor.SW_RESIZE_CURSOR
.
This constant is deprecated.
replaced by Cursor.S_RESIZE_CURSOR
.
This constant is deprecated.
replaced by Cursor.TEXT_CURSOR
.
This constant is deprecated.
replaced by Cursor.WAIT_CURSOR
.
This constant is deprecated.
replaced by Cursor.W_RESIZE_CURSOR
.
Constructs a new instance of Frame
that is
initially invisible. The title of the Frame
is empty.
HeadlessException | when
GraphicsEnvironment.isHeadless() returns true |
---|
Constructs a new, initially invisible Frame
with the
specified GraphicsConfiguration
.
gc | the GraphicsConfiguration
of the target screen device. If gc
is null , the system default
GraphicsConfiguration is assumed. |
---|
IllegalArgumentException | if
gc is not from a screen device. |
---|---|
HeadlessException | when
GraphicsEnvironment.isHeadless() returns true |
Constructs a new, initially invisible Frame
object
with the specified title.
title | the title to be displayed in the frame's border.
A null value
is treated as an empty string, "". |
---|
HeadlessException | when
GraphicsEnvironment.isHeadless() returns true |
---|
Constructs a new, initially invisible Frame
object
with the specified title and a
GraphicsConfiguration
.
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. |
IllegalArgumentException | if gc
is not from a screen device. |
---|---|
HeadlessException | when
GraphicsEnvironment.isHeadless() returns true |
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.
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.
This method is deprecated.
As of JDK version 1.1,
replaced by Component.getCursor()
.
Gets the state of this frame. The state is represented as a bitwise mask.
NORMAL
ICONIFIED
MAXIMIZED_HORIZ
MAXIMIZED_VERT
MAXIMIZED_BOTH
MAXIMIZED_HORIZ
and MAXIMIZED_VERT
.
Returns an array of all Frame
s created by this application.
If called from an applet, the array includes only the 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, 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 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.
null
if this frame doesn't have an icon image.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.
null
Gets the menu bar for this frame.
null
if this frame doesn't have a menu bar.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.
Frame.NORMAL
or Frame.ICONIFIED
.Gets the title of the frame. The title is displayed in the frame's border.
Indicates whether this frame is resizable by the user. By default, all frames are initially resizable.
true
if the user can resize this frame;
false
otherwise.Indicates whether this frame is undecorated. By default, all frames are initially decorated.
true
if frame is undecorated;
false
otherwise.Removes the specified menu bar from this frame.
m | the menu component to remove.
If m is null , then
no action is taken
|
---|
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.
This method is deprecated.
As of JDK version 1.1,
replaced by Component.setCursor(Cursor)
.
Sets the state of this frame. The state is represented as a bitwise mask.
NORMAL
ICONIFIED
MAXIMIZED_HORIZ
MAXIMIZED_VERT
MAXIMIZED_BOTH
MAXIMIZED_HORIZ
and MAXIMIZED_VERT
.
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.
state | a bitwise mask of frame state constants |
---|
Sets the image to be displayed as the icon for this window.
This method can be used instead of setIconImages()
to specify a single image as a window's icon.
The following statement:
setIconImage(image);is equivalent to:
ArrayList<Image> imageList = new ArrayList<Image>(); imageList.add(image); setIconImages(imageList);
Note : Native windowing systems may use different images of differing dimensions to represent a window, depending on the context (e.g. window decoration, window list, taskbar, etc.). They could also use just a single image for all contexts or no image at all.
image | the icon image to be displayed. |
---|
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.
bounds | bounds for the maximized state |
---|
Sets the menu bar for this frame to the specified menu bar.
mb | the menu bar being set.
If this parameter is null then any
existing menu bar on this frame is removed. |
---|
Sets whether this frame is resizable by the user.
resizable | true if this frame is resizable;
false otherwise. |
---|
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.
state | either Frame.NORMAL or
Frame.ICONIFIED . |
---|
Sets the title for this frame to the specified string.
title | the title to be displayed in the frame's border.
A null value
is treated as an empty string, "". |
---|
Disables or enables decorations for this frame. This method can only be called while the frame is not displayable.
undecorated | true if no frame decorations are
to be enabled;
false if frame decorations are to be enabled. |
---|
if the frame is displayable. |
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
.