|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Frame
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.
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
WindowEvent
,
Window.addWindowListener(java.awt.event.WindowListener)
,
Serialized FormNested Class Summary | |
protected class |
Frame.AccessibleAWTFrame
This class implements accessibility support for the Frame class. |
Nested classes inherited from class java.awt.Window |
Window.AccessibleAWTWindow |
Nested classes inherited from class java.awt.Container |
Container.AccessibleAWTContainer, Container.DropTargetEventTargetFilter, Container.EventTargetFilter, Container.MouseEventTargetFilter |
Nested classes inherited from class java.awt.Component |
Component.AccessibleAWTComponent, Component.AWTTreeLock, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
private static String |
base
|
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 . |
private int |
frameSerializedDataVersion
Frame 's Serialized Data Version. |
static int |
HAND_CURSOR
Deprecated. replaced by Cursor.HAND_CURSOR . |
(package private) Image |
icon
icon is the graphical way we can
represent the frame.
|
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. |
(package private) Rectangle |
maximizedBounds
Maximized bounds for this frame. |
(package private) boolean |
mbManagement
mbManagement is only used by the Motif implementation. |
(package private) MenuBar |
menuBar
The frames menubar. |
static int |
MOVE_CURSOR
Deprecated. replaced by Cursor.MOVE_CURSOR . |
static int |
N_RESIZE_CURSOR
Deprecated. replaced by Cursor.N_RESIZE_CURSOR . |
private static int |
nameCounter
|
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 . |
(package private) Vector |
ownedWindows
|
(package private) boolean |
resizable
This field indicates whether the frame is resizable. |
static int |
S_RESIZE_CURSOR
Deprecated. replaced by Cursor.S_RESIZE_CURSOR . |
static int |
SE_RESIZE_CURSOR
Deprecated. replaced by Cursor.SE_RESIZE_CURSOR . |
private static long |
serialVersionUID
|
private int |
state
|
static int |
SW_RESIZE_CURSOR
Deprecated. replaced by Cursor.SW_RESIZE_CURSOR . |
static int |
TEXT_CURSOR
Deprecated. replaced by Cursor.TEXT_CURSOR . |
(package private) String |
title
This is the title of the frame. |
(package private) boolean |
undecorated
This field indicates whether the frame is undecorated. |
static int |
W_RESIZE_CURSOR
Deprecated. replaced by Cursor.W_RESIZE_CURSOR . |
static int |
WAIT_CURSOR
Deprecated. replaced by Cursor.WAIT_CURSOR . |
private WeakReference |
weakThis
|
Fields inherited from class java.awt.Window |
beforeFirstShow, inputContext, OPENED, ownedWindowList, syncLWRequests, systemSyncLWRequests, warningString, windowFocusListener, windowListener, windowStateListener |
Fields inherited from class java.awt.Container |
component, containerListener, descendantsCount, INCLUDE_SELF, layoutMgr, listeningBoundsChildren, listeningChildren, ncomponents, SEARCH_HEAVYWEIGHTS |
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. |
(package private) void |
addToFrameList()
|
(package private) String |
constructComponentName()
Construct a name for this component. |
protected void |
finalize()
We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected. |
javax.accessibility.AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with this Frame. |
int |
getCursorType()
Deprecated. As of JDK version 1.1, replaced by Component.getCursor() . |
int |
getExtendedState()
Gets the state of this frame. |
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. |
Rectangle |
getMaximizedBounds()
Gets maximized bounds for this frame. |
MenuBar |
getMenuBar()
Gets the menu bar for this frame. |
int |
getState()
Gets the state of this frame (obsolete). |
String |
getTitle()
Gets the title of the frame. |
private void |
init(String title,
GraphicsConfiguration gc)
|
private static void |
initIDs()
Initialize JNI field and method IDs |
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 .
|
(package private) void |
postProcessKeyEvent(KeyEvent e)
|
private void |
readObject(ObjectInputStream s)
Reads the ObjectInputStream . |
void |
remove(MenuComponent m)
Removes the specified menu bar from this frame. |
(package private) void |
removeFromFrameList()
|
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 |
setExtendedState(int state)
Sets the state of this frame. |
void |
setIconImage(Image image)
Sets the image to be displayed in the minimized icon for this frame. |
void |
setMaximizedBounds(Rectangle bounds)
Sets the maximized bounds 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 (obsolete). |
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. |
private void |
writeObject(ObjectOutputStream s)
Writes default serializable fields to stream. |
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 |
public static final int DEFAULT_CURSOR
Cursor.DEFAULT_CURSOR
.
public static final int CROSSHAIR_CURSOR
Cursor.CROSSHAIR_CURSOR
.
public static final int TEXT_CURSOR
Cursor.TEXT_CURSOR
.
public static final int WAIT_CURSOR
Cursor.WAIT_CURSOR
.
public static final int SW_RESIZE_CURSOR
Cursor.SW_RESIZE_CURSOR
.
public static final int SE_RESIZE_CURSOR
Cursor.SE_RESIZE_CURSOR
.
public static final int NW_RESIZE_CURSOR
Cursor.NW_RESIZE_CURSOR
.
public static final int NE_RESIZE_CURSOR
Cursor.NE_RESIZE_CURSOR
.
public static final int N_RESIZE_CURSOR
Cursor.N_RESIZE_CURSOR
.
public static final int S_RESIZE_CURSOR
Cursor.S_RESIZE_CURSOR
.
public static final int W_RESIZE_CURSOR
Cursor.W_RESIZE_CURSOR
.
public static final int E_RESIZE_CURSOR
Cursor.E_RESIZE_CURSOR
.
public static final int HAND_CURSOR
Cursor.HAND_CURSOR
.
public static final int MOVE_CURSOR
Cursor.MOVE_CURSOR
.
public static final int NORMAL
setExtendedState(int)
,
getExtendedState()
,
Constant Field Valuespublic static final int ICONIFIED
setExtendedState(int)
,
getExtendedState()
,
Constant Field Valuespublic static final int MAXIMIZED_HORIZ
setExtendedState(int)
,
getExtendedState()
,
Constant Field Valuespublic static final int MAXIMIZED_VERT
setExtendedState(int)
,
getExtendedState()
,
Constant Field Valuespublic static final int MAXIMIZED_BOTH
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
setExtendedState(int)
,
getExtendedState()
,
Constant Field ValuesRectangle maximizedBounds
setMaximizedBounds(Rectangle)
,
getMaximizedBounds()
String title
title
can be null and if
this is the case the title
= "".
getTitle()
,
setTitle(String)
transient Image icon
icon
is the graphical way we can
represent the frame.
icon
can be null, but obviously if
you try to set the icon image icon
cannot be null.
getIconImage()
,
setIconImage(Image)
MenuBar menuBar
menuBar
= null
the frame will not have a menubar.
getMenuBar()
,
setMenuBar(MenuBar)
boolean resizable
resizable
will be true if the frame is
resizable, otherwise it will be false.
isResizable()
boolean undecorated
undecorated
will be true if the frame is
undecorated, otherwise it will be false.
setUndecorated(boolean)
,
isUndecorated()
,
Component.isDisplayable()
boolean mbManagement
mbManagement
is only used by the Motif implementation.
private int state
Vector ownedWindows
private transient WeakReference weakThis
private static final String base
private static int nameCounter
private static final long serialVersionUID
private int frameSerializedDataVersion
Frame
's Serialized Data Version.
Constructor Detail |
public Frame() throws HeadlessException
Frame
that is
initially invisible. The title of the Frame
is empty.
HeadlessException
- when GraphicsEnvironment.isHeadless()
returns trueGraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
public Frame(GraphicsConfiguration gc)
Frame
with the specified
GraphicsConfiguration
of
a screen device.
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.
This exception is always thrown
when GraphicsEnvironment.isHeadless() returns trueGraphicsEnvironment.isHeadless()
public Frame(String title) throws HeadlessException
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 trueGraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
,
GraphicsConfiguration.getBounds()
public Frame(String title, GraphicsConfiguration gc)
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.
This exception is always thrown
when GraphicsEnvironment.isHeadless() returns trueGraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
,
GraphicsConfiguration.getBounds()
Method Detail |
private void init(String title, GraphicsConfiguration gc)
protected void finalize() throws Throwable
finalize
in class Window
Throwable
String constructComponentName()
constructComponentName
in class Window
public void addNotify()
addNotify
in class Window
Component.isDisplayable()
,
removeNotify()
public String getTitle()
setTitle(String)
public void setTitle(String title)
title
- the title to be displayed in the frame's border.
A null
value
is treated as an empty string, "".getTitle()
public Image getIconImage()
null
if this frame doesn't have an icon image.setIconImage(Image)
public void setIconImage(Image image)
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.getIconImage()
public MenuBar getMenuBar()
null
if this frame doesn't have a menu bar.setMenuBar(MenuBar)
public void setMenuBar(MenuBar mb)
mb
- the menu bar being set.
If this parameter is null
then any
existing menu bar on this frame is removed.getMenuBar()
public boolean isResizable()
true
if the user can resize this frame;
false
otherwise.setResizable(boolean)
public void setResizable(boolean resizable)
resizable
- true
if this frame is resizable;
false
otherwise.isResizable()
public void setState(int state)
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
.getState()
,
setExtendedState(int)
public void setExtendedState(int state)
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 constantsgetExtendedState()
,
Toolkit.isFrameStateSupported(int)
public int getState()
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
.setState(int)
,
getExtendedState()
public int getExtendedState()
NORMAL
ICONIFIED
MAXIMIZED_HORIZ
MAXIMIZED_VERT
MAXIMIZED_BOTH
MAXIMIZED_HORIZ
and MAXIMIZED_VERT
.
setExtendedState(int)
public void setMaximizedBounds(Rectangle bounds)
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 stategetMaximizedBounds()
public Rectangle getMaximizedBounds()
Integer.MAX_VALUE
to indicate
that system supplied values for this field must be used.
null
setMaximizedBounds(Rectangle)
public void setUndecorated(boolean undecorated)
undecorated
- true
if no frame decorations are
to be enabled;
false
if frame decorations are to be enabled.
IllegalComponentStateException
- if the frame
is displayable.isUndecorated()
,
Component.isDisplayable()
,
JFrame.setDefaultLookAndFeelDecorated(boolean)
public boolean isUndecorated()
true
if frame is undecorated;
false
otherwise.setUndecorated(boolean)
public void remove(MenuComponent m)
remove
in interface MenuContainer
remove
in class Component
m
- the menu component to remove.
If m
is null
, then
no action is takenComponent.add(PopupMenu)
public void removeNotify()
removeNotify
in class Container
Component.isDisplayable()
,
addNotify()
void postProcessKeyEvent(KeyEvent e)
postProcessKeyEvent
in class Window
protected String paramString()
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
.
paramString
in class Container
public void setCursor(int cursorType)
Component.setCursor(Cursor)
.
public int getCursorType()
Component.getCursor()
.
public static Frame[] getFrames()
void addToFrameList()
void removeFromFrameList()
private void writeObject(ObjectOutputStream s) throws IOException
Icon
, which is
available as of 1.4.
s
- the ObjectOutputStream
to write
IOException
Icon
,
readObject(ObjectInputStream)
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException, HeadlessException
ObjectInputStream
. Tries
to read an Icon
, which is optional
data available as of 1.4. If an Icon
is not available, but anything other than an EOF
is detected, an OptionalDataException
will be thrown..
Unrecognized keys or values will be ignored.
s
- the ObjectInputStream
to read
OptionalDataException
- if an Icon
is not available, but anything other than an EOF
is detected
HeadlessException
- if
GraphicsEnvironment.isHeadless
returns
true
ClassNotFoundException
IOException
GraphicsEnvironment.isHeadless()
,
Icon
,
writeObject(ObjectOutputStream)
private static void initIDs()
public javax.accessibility.AccessibleContext getAccessibleContext()
getAccessibleContext
in interface javax.accessibility.Accessible
getAccessibleContext
in class Window
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |