public class Frame extends Window implements MenuContainer
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 FormModifier and Type | Class and Description |
---|---|
protected class |
Frame.AccessibleAWTFrame
This class implements accessibility support for the
Frame class. |
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
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
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 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
Frame is in the "normal" state.
|
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 . |
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
Frame()
Constructs a new instance of
Frame that is
initially invisible. |
Frame(GraphicsConfiguration gc)
Constructs a new, initially invisible
Frame with the
specified GraphicsConfiguration . |
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 . |
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 by
Component.getCursor() . |
int |
getExtendedState()
Gets the state of this frame.
|
static Frame[] |
getFrames()
Returns an array of all
Frame 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 this
Frame . |
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 by
Component.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.
|
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
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
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFont, postEvent
@Deprecated public static final int DEFAULT_CURSOR
Cursor.DEFAULT_CURSOR
.@Deprecated public static final int CROSSHAIR_CURSOR
Cursor.CROSSHAIR_CURSOR
.@Deprecated public static final int TEXT_CURSOR
Cursor.TEXT_CURSOR
.@Deprecated public static final int WAIT_CURSOR
Cursor.WAIT_CURSOR
.@Deprecated public static final int SW_RESIZE_CURSOR
Cursor.SW_RESIZE_CURSOR
.@Deprecated public static final int SE_RESIZE_CURSOR
Cursor.SE_RESIZE_CURSOR
.@Deprecated public static final int NW_RESIZE_CURSOR
Cursor.NW_RESIZE_CURSOR
.@Deprecated public static final int NE_RESIZE_CURSOR
Cursor.NE_RESIZE_CURSOR
.@Deprecated public static final int N_RESIZE_CURSOR
Cursor.N_RESIZE_CURSOR
.@Deprecated public static final int S_RESIZE_CURSOR
Cursor.S_RESIZE_CURSOR
.@Deprecated public static final int W_RESIZE_CURSOR
Cursor.W_RESIZE_CURSOR
.@Deprecated public static final int E_RESIZE_CURSOR
Cursor.E_RESIZE_CURSOR
.@Deprecated public static final int HAND_CURSOR
Cursor.HAND_CURSOR
.@Deprecated public static final int MOVE_CURSOR
Cursor.MOVE_CURSOR
.public static final int NORMAL
public static final int ICONIFIED
public 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 Valuespublic Frame() throws HeadlessException
Frame
that is
initially invisible. The title of the Frame
is empty.HeadlessException
- when
GraphicsEnvironment.isHeadless()
returns true
GraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
public Frame(GraphicsConfiguration gc)
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
GraphicsEnvironment.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 true
GraphicsEnvironment.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.HeadlessException
- when
GraphicsEnvironment.isHeadless()
returns true
GraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
,
GraphicsConfiguration.getBounds()
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()
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.setIconImage(Image)
,
Window.getIconImages()
,
Window.setIconImages(java.util.List<? extends java.awt.Image>)
public void setIconImage(Image image)
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.
setIconImage
in class Window
image
- the icon image to be displayed.Window.setIconImages(java.util.List<? extends java.awt.Image>)
,
Window.getIconImages()
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 applications developed
earlier this method still accepts
Frame.NORMAL
and
Frame.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 neither Frame.NORMAL
nor Frame.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 the Toolkit.isFrameStateSupported(int)
method.
If the frame is currently visible on the
screen (the Window.isShowing()
method returns
true
), the developer should examine the
return value of the WindowEvent.getNewState()
method of
the WindowEvent
received through the
WindowStateListener
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 any
WindowEvent.WINDOW_STATE_CHANGED
events is not guaranteed in this case also.
state
- either Frame.NORMAL
or
Frame.ICONIFIED
.setExtendedState(int)
,
Window.addWindowStateListener(java.awt.event.WindowStateListener)
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, 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 the Toolkit.isFrameStateSupported(int)
method.
If the frame is currently visible on the
screen (the Window.isShowing()
method returns
true
), the developer should examine the
return value of the WindowEvent.getNewState()
method of
the WindowEvent
received through the
WindowStateListener
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 any
WindowEvent.WINDOW_STATE_CHANGED
events is not guaranteed in this case also.
state
- a bitwise mask of frame state constantsWindow.addWindowStateListener(java.awt.event.WindowStateListener)
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
.
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.
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)
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 to Window.setShape(java.awt.Shape)
, Window.setOpacity(float)
and Window.setBackground(java.awt.Color)
for details
undecorated
- true
if no frame decorations are to be
enabled; false
if frame decorations are to be enabledIllegalComponentStateException
- if the frame is displayableIllegalComponentStateException
- if undecorated
is
false
, and this frame does not have the default shapeIllegalComponentStateException
- if undecorated
is
false
, and this frame opacity is less than 1.0f
IllegalComponentStateException
- if undecorated
is
false
, and the alpha value of this frame background
color is less than 1.0f
isUndecorated()
,
Component.isDisplayable()
,
Window.getShape()
,
Window.getOpacity()
,
Window.getBackground()
,
JFrame.setDefaultLookAndFeelDecorated(boolean)
public boolean isUndecorated()
true
if frame is undecorated;
false
otherwise.setUndecorated(boolean)
public void setOpacity(float opacity)
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
:
TRANSLUCENT
translucency must be supported by the underlying system
setUndecorated(boolean)
and Dialog.setUndecorated(boolean)
)
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 the IllegalComponentStateException
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 (see Window.setShape(Shape)
).
setOpacity
in class Window
opacity
- the opacity level to set to the windowWindow.getOpacity()
,
Window.setBackground(Color)
,
Window.setShape(Shape)
,
isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
public void setShape(Shape shape)
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 is null
, 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:
PERPIXEL_TRANSPARENT
translucency must be supported by the
underlying system
setUndecorated(boolean)
and Dialog.setUndecorated(boolean)
)
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 the UnsupportedOperationException
or IllegalComponentStateException
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 (see Window.setOpacity(float)
). See GraphicsDevice.WindowTranslucency
for more details.
setShape
in class Window
shape
- the shape to set to the windowWindow.getShape()
,
Window.setBackground(Color)
,
Window.setOpacity(float)
,
isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
public void setBackground(Color bgColor)
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 equals 1.0f
) or per-pixel translucent
(alpha is less than 1.0f
). If the given background color is
null
, the window is considered completely opaque.
All the following conditions must be met to enable the per-pixel transparency mode for this window:
PERPIXEL_TRANSLUCENT
translucency must be supported by the graphics
device where this window is located
setUndecorated(boolean)
and Dialog.setUndecorated(boolean)
)
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 the UnsupportedOperationException
or IllegalComponentStateException
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 (see Window.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.
setBackground
in class Window
bgColor
- the color to become this window's background color.Window.getBackground()
,
Window.isOpaque()
,
Window.setOpacity(float)
,
Window.setShape(Shape)
,
isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
,
GraphicsConfiguration.isTranslucencyCapable()
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 Window
Component.isDisplayable()
,
addNotify()
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
@Deprecated public void setCursor(int cursorType)
Component.setCursor(Cursor)
.@Deprecated public int getCursorType()
Component.getCursor()
.public static Frame[] getFrames()
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
.
Window.getWindows()
,
Window.getOwnerlessWindows()
public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class Window
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, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.