Class Frame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible
- Direct Known Subclasses:
- JFrame
public class Frame extends Window implements MenuContainer
AFrame
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 callingpack
orshow
. 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 ofwidth - (insets.left + insets.right)
byheight - (insets.top + insets.bottom)
.The default layout for a frame is
BorderLayout
.A frame may have its native decorations (i.e.
Frame
andTitlebar
) turned off withsetUndecorated
. This can only be done while the frame is notdisplayable
.In a multi-screen environment, you can create a
Frame
on a different screen device by constructing theFrame
withFrame(GraphicsConfiguration)
orFrame(String title, GraphicsConfiguration)
. TheGraphicsConfiguration
object is one of theGraphicsConfiguration
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, callinggetLocationOnScreen
on aFrame
returns virtual device coordinates. Call thegetBounds
method of aGraphicsConfiguration
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 correspondingGraphicsConfiguration
. If the bounds of theGraphicsConfiguration
is not taken into account, theFrame
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 specifiedGraphicsConfiguration
.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
:
If the program doesn't explicitly hide or dispose the window while processing this event, the window close operation is canceled.WINDOW_CLOSED
WINDOW_ICONIFIED
WINDOW_DEICONIFIED
WINDOW_ACTIVATED
WINDOW_DEACTIVATED
WINDOW_GAINED_FOCUS
WINDOW_LOST_FOCUS
WINDOW_STATE_CHANGED
- Since:
- JDK1.0
- See Also:
-
WindowEvent
,Window.addWindowListener(java.awt.event.WindowListener)
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description protected class
Frame.AccessibleAWTFrame
This class implements accessibility support for theFrame
class.-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
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
Fields Modifier and Type Field and Description static int
CROSSHAIR_CURSOR
Deprecated.replaced byCursor.CROSSHAIR_CURSOR
.static int
DEFAULT_CURSOR
Deprecated.replaced byCursor.DEFAULT_CURSOR
.static int
E_RESIZE_CURSOR
Deprecated.replaced byCursor.E_RESIZE_CURSOR
.static int
HAND_CURSOR
Deprecated.replaced byCursor.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
Deprecated.replaced byCursor.MOVE_CURSOR
.static int
N_RESIZE_CURSOR
Deprecated.replaced byCursor.N_RESIZE_CURSOR
.static int
NE_RESIZE_CURSOR
Deprecated.replaced byCursor.NE_RESIZE_CURSOR
.static int
NORMAL
Frame is in the "normal" state.static int
NW_RESIZE_CURSOR
Deprecated.replaced byCursor.NW_RESIZE_CURSOR
.static int
S_RESIZE_CURSOR
Deprecated.replaced byCursor.S_RESIZE_CURSOR
.static int
SE_RESIZE_CURSOR
Deprecated.replaced byCursor.SE_RESIZE_CURSOR
.static int
SW_RESIZE_CURSOR
Deprecated.replaced byCursor.SW_RESIZE_CURSOR
.static int
TEXT_CURSOR
Deprecated.replaced byCursor.TEXT_CURSOR
.static int
W_RESIZE_CURSOR
Deprecated.replaced byCursor.W_RESIZE_CURSOR
.static int
WAIT_CURSOR
Deprecated.replaced byCursor.WAIT_CURSOR
.-
Fields inherited from class java.awt.Component
accessibleContext, 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
Constructors Constructor and Description Frame()
Constructs a new instance ofFrame
that is initially invisible.Frame(GraphicsConfiguration gc)
Constructs a new, initially invisibleFrame
with the specifiedGraphicsConfiguration
.Frame(String title)
Constructs a new, initially invisibleFrame
object with the specified title.Frame(String title, GraphicsConfiguration gc)
Constructs a new, initially invisibleFrame
object with the specified title and aGraphicsConfiguration
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description void
addNotify()
Makes this Frame displayable by connecting it to a native screen resource.AccessibleContext
getAccessibleContext()
Gets the AccessibleContext associated with this Frame.int
getCursorType()
Deprecated.As of JDK version 1.1, replaced byComponent.getCursor()
.int
getExtendedState()
Gets the state of this frame.static Frame[]
getFrames()
Returns an array of allFrame
s created by this application.Image
getIconImage()
Returns the image to be displayed as the 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.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 thisFrame
.void
remove(MenuComponent m)
Removes the specified menu bar from this frame.void
removeNotify()
Makes this Frame undisplayable by removing its connection to its native screen resource.void
setBackground(Color bgColor)
Sets the background color of this window.void
setCursor(int cursorType)
Deprecated.As of JDK version 1.1, replaced byComponent.setCursor(Cursor)
.void
setExtendedState(int state)
Sets the state of this frame.void
setIconImage(Image image)
Sets the image to be displayed as the icon for this window.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
setOpacity(float opacity)
Sets the opacity of the window.void
setResizable(boolean resizable)
Sets whether this frame is resizable by the user.void
setShape(Shape shape)
Sets the shape of the window.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.-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
-
-
-
Field Detail
DEFAULT_CURSOR
@Deprecated public static final int DEFAULT_CURSOR
Deprecated. replaced byCursor.DEFAULT_CURSOR
.- See Also:
- Constant Field Values
CROSSHAIR_CURSOR
@Deprecated public static final int CROSSHAIR_CURSOR
Deprecated. replaced byCursor.CROSSHAIR_CURSOR
.- See Also:
- Constant Field Values
TEXT_CURSOR
@Deprecated public static final int TEXT_CURSOR
Deprecated. replaced byCursor.TEXT_CURSOR
.- See Also:
- Constant Field Values
WAIT_CURSOR
@Deprecated public static final int WAIT_CURSOR
Deprecated. replaced byCursor.WAIT_CURSOR
.- See Also:
- Constant Field Values
SW_RESIZE_CURSOR
@Deprecated public static final int SW_RESIZE_CURSOR
Deprecated. replaced byCursor.SW_RESIZE_CURSOR
.- See Also:
- Constant Field Values
SE_RESIZE_CURSOR
@Deprecated public static final int SE_RESIZE_CURSOR
Deprecated. replaced byCursor.SE_RESIZE_CURSOR
.- See Also:
- Constant Field Values
NW_RESIZE_CURSOR
@Deprecated public static final int NW_RESIZE_CURSOR
Deprecated. replaced byCursor.NW_RESIZE_CURSOR
.- See Also:
- Constant Field Values
NE_RESIZE_CURSOR
@Deprecated public static final int NE_RESIZE_CURSOR
Deprecated. replaced byCursor.NE_RESIZE_CURSOR
.- See Also:
- Constant Field Values
N_RESIZE_CURSOR
@Deprecated public static final int N_RESIZE_CURSOR
Deprecated. replaced byCursor.N_RESIZE_CURSOR
.- See Also:
- Constant Field Values
S_RESIZE_CURSOR
@Deprecated public static final int S_RESIZE_CURSOR
Deprecated. replaced byCursor.S_RESIZE_CURSOR
.- See Also:
- Constant Field Values
W_RESIZE_CURSOR
@Deprecated public static final int W_RESIZE_CURSOR
Deprecated. replaced byCursor.W_RESIZE_CURSOR
.- See Also:
- Constant Field Values
E_RESIZE_CURSOR
@Deprecated public static final int E_RESIZE_CURSOR
Deprecated. replaced byCursor.E_RESIZE_CURSOR
.- See Also:
- Constant Field Values
HAND_CURSOR
@Deprecated public static final int HAND_CURSOR
Deprecated. replaced byCursor.HAND_CURSOR
.- See Also:
- Constant Field Values
MOVE_CURSOR
@Deprecated public static final int MOVE_CURSOR
Deprecated. replaced byCursor.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.
ICONIFIED
public static final int ICONIFIED
This state bit indicates that frame is iconified.
MAXIMIZED_HORIZ
public static final int MAXIMIZED_HORIZ
This state bit indicates that frame is maximized in the horizontal direction.- Since:
- 1.4
- See Also:
-
setExtendedState(int)
,getExtendedState()
, Constant Field Values
MAXIMIZED_VERT
public static final int MAXIMIZED_VERT
This state bit indicates that frame is maximized in the vertical direction.- Since:
- 1.4
- See Also:
-
setExtendedState(int)
,getExtendedState()
, Constant Field Values
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 forMAXIMIZED_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
- Since:
- 1.4
- See Also:
-
setExtendedState(int)
,getExtendedState()
, Constant Field Values
-
Constructor Detail
Frame
public Frame() throws HeadlessException
Constructs a new instance ofFrame
that is initially invisible. The title of theFrame
is empty.- Throws:
-
HeadlessException
- whenGraphicsEnvironment.isHeadless()
returnstrue
- See Also:
-
GraphicsEnvironment.isHeadless()
,Component.setSize(int, int)
,Component.setVisible(boolean)
Frame
public Frame(GraphicsConfiguration gc)
Constructs a new, initially invisibleFrame
with the specifiedGraphicsConfiguration
.- Parameters:
-
gc
- theGraphicsConfiguration
of the target screen device. Ifgc
isnull
, the system defaultGraphicsConfiguration
is assumed. - Throws:
-
IllegalArgumentException
- ifgc
is not from a screen device. -
HeadlessException
- whenGraphicsEnvironment.isHeadless()
returnstrue
- Since:
- 1.3
- See Also:
-
GraphicsEnvironment.isHeadless()
Frame
public Frame(String title) throws HeadlessException
Constructs a new, initially invisibleFrame
object with the specified title.- Parameters:
-
title
- the title to be displayed in the frame's border. Anull
value is treated as an empty string, "". - Throws:
-
HeadlessException
- whenGraphicsEnvironment.isHeadless()
returnstrue
- See Also:
-
GraphicsEnvironment.isHeadless()
,Component.setSize(int, int)
,Component.setVisible(boolean)
,GraphicsConfiguration.getBounds()
Frame
public Frame(String title, GraphicsConfiguration gc)
Constructs a new, initially invisibleFrame
object with the specified title and aGraphicsConfiguration
.- Parameters:
-
title
- the title to be displayed in the frame's border. Anull
value is treated as an empty string, "". -
gc
- theGraphicsConfiguration
of the target screen device. Ifgc
isnull
, the system defaultGraphicsConfiguration
is assumed. - Throws:
-
IllegalArgumentException
- ifgc
is not from a screen device. -
HeadlessException
- whenGraphicsEnvironment.isHeadless()
returnstrue
- Since:
- 1.3
- See Also:
-
GraphicsEnvironment.isHeadless()
,Component.setSize(int, int)
,Component.setVisible(boolean)
,GraphicsConfiguration.getBounds()
-
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 classWindow
- See Also:
-
Component.isDisplayable()
,removeNotify()
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. Anull
value is treated as an empty string, "". - See Also:
-
getTitle()
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
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. - See Also:
-
setIconImage(Image)
,Window.getIconImages()
,Window.setIconImages(java.util.List<? extends java.awt.Image>)
setIconImage
public void setIconImage(Image image)
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.
- Overrides:
-
setIconImage
in classWindow
- Parameters:
-
image
- the icon image to be displayed. - See Also:
-
Window.setIconImages(java.util.List<? extends java.awt.Image>)
,Window.getIconImages()
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 isnull
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 (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 applications developed earlier this method still accepts
Frame.NORMAL
andFrame.ICONIFIED
only. The iconic state of the frame is only changed, other aspects of frame state are not affected by this method. If the state passed to this method is neitherFrame.NORMAL
norFrame.ICONIFIED
the method performs no actions at all.Note that if the state is not supported on a given platform, neither the state nor the return value of the
getState()
method will be changed. The application may determine whether a specific state is supported via theToolkit.isFrameStateSupported(int)
method.If the frame is currently visible on the screen (the
Window.isShowing()
method returnstrue
), the developer should examine the return value of theWindowEvent.getNewState()
method of theWindowEvent
received through theWindowStateListener
to determine that the state has actually been changed.If the frame is not visible on the screen, the events may or may not be generated. In this case the developer may assume that the state changes immediately after this method returns. Later, when the
setVisible(true)
method is invoked, the frame will attempt to apply this state. Receiving anyWindowEvent.WINDOW_STATE_CHANGED
events is not guaranteed in this case also.- Parameters:
-
state
- eitherFrame.NORMAL
orFrame.ICONIFIED
. - See Also:
-
setExtendedState(int)
,Window.addWindowStateListener(java.awt.event.WindowStateListener)
setExtendedState
public void setExtendedState(int state)
Sets the state of this frame. The state is represented as a bitwise mask.NORMAL
Indicates that no state bits are set.ICONIFIED
MAXIMIZED_HORIZ
MAXIMIZED_VERT
MAXIMIZED_BOTH
ConcatenatesMAXIMIZED_HORIZ
andMAXIMIZED_VERT
.
Note that if the state is not supported on a given platform, neither the state nor the return value of the
getExtendedState()
method will be changed. The application may determine whether a specific state is supported via theToolkit.isFrameStateSupported(int)
method.If the frame is currently visible on the screen (the
Window.isShowing()
method returnstrue
), the developer should examine the return value of theWindowEvent.getNewState()
method of theWindowEvent
received through theWindowStateListener
to determine that the state has actually been changed.If the frame is not visible on the screen, the events may or may not be generated. In this case the developer may assume that the state changes immediately after this method returns. Later, when the
setVisible(true)
method is invoked, the frame will attempt to apply this state. Receiving anyWindowEvent.WINDOW_STATE_CHANGED
events is not guaranteed in this case also.- Parameters:
-
state
- a bitwise mask of frame state constants - Since:
- 1.4
- See Also:
-
Window.addWindowStateListener(java.awt.event.WindowStateListener)
getState
public 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
andFrame.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
orFrame.ICONIFIED
. - See Also:
-
setState(int)
,getExtendedState()
getExtendedState
public int getExtendedState()
Gets the state of this frame. The state is represented as a bitwise mask.NORMAL
Indicates that no state bits are set.ICONIFIED
MAXIMIZED_HORIZ
MAXIMIZED_VERT
MAXIMIZED_BOTH
ConcatenatesMAXIMIZED_HORIZ
andMAXIMIZED_VERT
.
- Returns:
- a bitwise mask of frame state constants
- Since:
- 1.4
- See Also:
-
setExtendedState(int)
setMaximizedBounds
public 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
isnull
, 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 toInteger.MAX_VALUE
.Note, the given maximized bounds are used as a hint for the native system, because the underlying platform may not support setting the location and/or size of the maximized windows. If that is the case, the provided values do not affect the appearance of the frame in the maximized state.
- Parameters:
-
bounds
- bounds for the maximized state - Since:
- 1.4
- See Also:
-
getMaximizedBounds()
getMaximizedBounds
public Rectangle getMaximizedBounds()
Gets maximized bounds for this frame. Some fields may containInteger.MAX_VALUE
to indicate that system supplied values for this field must be used.- Returns:
-
maximized bounds for this frame; may be
null
- Since:
- 1.4
- See Also:
-
setMaximizedBounds(Rectangle)
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. To make this frame decorated, it must be opaque and have the default shape, otherwise the
IllegalComponentStateException
will be thrown. Refer toWindow.setShape(java.awt.Shape)
,Window.setOpacity(float)
andWindow.setBackground(java.awt.Color)
for details- 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 -
IllegalComponentStateException
- ifundecorated
isfalse
, and this frame does not have the default shape -
IllegalComponentStateException
- ifundecorated
isfalse
, and this frame opacity is less than1.0f
-
IllegalComponentStateException
- ifundecorated
isfalse
, and the alpha value of this frame background color is less than1.0f
- Since:
- 1.4
- See Also:
-
isUndecorated()
,Component.isDisplayable()
,Window.getShape()
,Window.getOpacity()
,Window.getBackground()
,JFrame.setDefaultLookAndFeelDecorated(boolean)
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. - Since:
- 1.4
- See Also:
-
setUndecorated(boolean)
setOpacity
public void setOpacity(float opacity)
Sets the opacity of the window.The opacity value is in the range [0..1]. Note that setting the opacity level of 0 may or may not disable the mouse event handling on this window. This is a platform-dependent behavior.
The following conditions must be met in order to set the opacity value less than
1.0f
:- The
TRANSLUCENT
translucency must be supported by the underlying system - The window must be undecorated (see
setUndecorated(boolean)
andDialog.setUndecorated(boolean)
) - The window must not be in full-screen mode (see
GraphicsDevice.setFullScreenWindow(Window)
)
If the requested opacity value is less than
1.0f
, and any of the above conditions are not met, the window opacity will not change, and theIllegalComponentStateException
will be thrown.The translucency levels of individual pixels may also be effected by the alpha component of their color (see
Window.setBackground(Color)
) and the current shape of this window (seeWindow.setShape(Shape)
).- Overrides:
-
setOpacity
in classWindow
- Parameters:
-
opacity
- the opacity level to set to the window - See Also:
-
Window.getOpacity()
,Window.setBackground(Color)
,Window.setShape(Shape)
,isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
- The
setShape
public void setShape(Shape shape)
Sets the shape of the window.Setting a shape cuts off some parts of the window. Only the parts that belong to the given
Shape
remain visible and clickable. If the shape argument isnull
, this method restores the default shape, making the window rectangular on most platforms.The following conditions must be met to set a non-null shape:
- The
PERPIXEL_TRANSPARENT
translucency must be supported by the underlying system - The window must be undecorated (see
setUndecorated(boolean)
andDialog.setUndecorated(boolean)
) - The window must not be in full-screen mode (see
GraphicsDevice.setFullScreenWindow(Window)
)
If the requested shape is not
null
, and any of the above conditions are not met, the shape of this window will not change, and either theUnsupportedOperationException
orIllegalComponentStateException
will be thrown.The translucency levels of individual pixels may also be effected by the alpha component of their color (see
Window.setBackground(Color)
) and the opacity value (seeWindow.setOpacity(float)
). SeeGraphicsDevice.WindowTranslucency
for more details.- Overrides:
-
setShape
in classWindow
- Parameters:
-
shape
- the shape to set to the window - See Also:
-
Window.getShape()
,Window.setBackground(Color)
,Window.setOpacity(float)
,isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
- The
setBackground
public void setBackground(Color bgColor)
Sets the background color of this window.If the windowing system supports the
PERPIXEL_TRANSLUCENT
translucency, the alpha component of the given background color may effect the mode of operation for this window: it indicates whether this window must be opaque (alpha equals1.0f
) or per-pixel translucent (alpha is less than1.0f
). If the given background color isnull
, the window is considered completely opaque.All the following conditions must be met to enable the per-pixel transparency mode for this window:
- The
PERPIXEL_TRANSLUCENT
translucency must be supported by the graphics device where this window is located - The window must be undecorated (see
setUndecorated(boolean)
andDialog.setUndecorated(boolean)
) - The window must not be in full-screen mode (see
GraphicsDevice.setFullScreenWindow(Window)
)
If the alpha component of the requested background color is less than
1.0f
, and any of the above conditions are not met, the background color of this window will not change, the alpha component of the given background color will not affect the mode of operation for this window, and either theUnsupportedOperationException
orIllegalComponentStateException
will be thrown.When the window is per-pixel translucent, the drawing sub-system respects the alpha value of each individual pixel. If a pixel gets painted with the alpha color component equal to zero, it becomes visually transparent. If the alpha of the pixel is equal to 1.0f, the pixel is fully opaque. Interim values of the alpha color component make the pixel semi-transparent. In this mode, the background of the window gets painted with the alpha value of the given background color. If the alpha value of the argument of this method is equal to
0
, the background is not painted at all.The actual level of translucency of a given pixel also depends on window opacity (see
Window.setOpacity(float)
), as well as the current shape of this window (seeWindow.setShape(Shape)
).Note that painting a pixel with the alpha value of
0
may or may not disable the mouse event handling on this pixel. This is a platform-dependent behavior. To make sure the mouse events do not get dispatched to a particular pixel, the pixel must be excluded from the shape of the window.Enabling the per-pixel translucency mode may change the graphics configuration of this window due to the native platform requirements.
- Overrides:
-
setBackground
in classWindow
- Parameters:
-
bgColor
- the color to become this window's background color. - See Also:
-
Window.getBackground()
,Window.isOpaque()
,Window.setOpacity(float)
,Window.setShape(Shape)
,isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
,GraphicsConfiguration.isTranslucencyCapable()
- The
remove
public void remove(MenuComponent m)
Removes the specified menu bar from this frame.- Specified by:
-
remove
in interfaceMenuContainer
- Overrides:
-
remove
in classComponent
- Parameters:
-
m
- the menu component to remove. Ifm
isnull
, then no action is taken - See Also:
-
Component.add(PopupMenu)
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 classWindow
- See Also:
-
Component.isDisplayable()
,addNotify()
paramString
protected String paramString()
Returns a string representing the state of thisFrame
. 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 benull
.- Overrides:
-
paramString
in classContainer
- Returns:
- the parameter string of this frame
setCursor
@Deprecated public void setCursor(int cursorType)
Deprecated. As of JDK version 1.1, replaced byComponent.setCursor(Cursor)
.
getCursorType
@Deprecated public int getCursorType()
Deprecated. As of JDK version 1.1, replaced byComponent.getCursor()
.
getFrames
public static Frame[] getFrames()
Returns an array of allFrame
s created by this application. If called from an applet, the array includes only theFrame
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), useWindow.getOwnerlessWindows
.- Since:
- 1.2
- See Also:
-
Window.getWindows()
,Window.getOwnerlessWindows()
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.- Specified by:
-
getAccessibleContext
in interfaceAccessible
- Overrides:
-
getAccessibleContext
in classWindow
- Returns:
- an AccessibleAWTFrame that serves as the AccessibleContext of this Frame
- Since:
- 1.3
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.