public class Window extends Container implements Accessible
Window
object is a top-level window with no borders and no
menubar.
The default layout for a window is BorderLayout
.
A window must have either a frame, dialog, or another window defined as its owner when it's constructed.
In a multi-screen environment, you can create a Window
on a different screen device by constructing the Window
with Window(Window, 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 device 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 Window
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 a Window
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 Window
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
.
Window w = new Window(Window owner, GraphicsConfiguration gc); Rectangle bounds = gc.getBounds(); w.setLocation(10 + bounds.x, 10 + bounds.y);
Note: the location and size of top-level windows (including
Window
s, Frame
s, and Dialog
s)
are under the control of the desktop's window management system.
Calls to setLocation
, setSize
, and
setBounds
are requests (not directives) which are
forwarded to the window management system. Every effort will be
made to honor such requests. However, in some cases the window
management system may ignore such requests, or modify the requested
geometry in order to place and size the Window
in a way
that more closely matches the desktop settings.
Due to the asynchronous nature of native event handling, the results
returned by getBounds
, getLocation
,
getLocationOnScreen
, and getSize
might not
reflect the actual geometry of the Window on screen until the last
request has been processed. During the processing of subsequent
requests these values might change accordingly while the window
management system fulfills the requests.
An application may set the size and location of an invisible
Window
arbitrarily, but the window management system may
subsequently change its size and/or location when the
Window
is made visible. One or more ComponentEvent
s
will be generated to indicate the new geometry.
Windows are capable of generating the following WindowEvents: WindowOpened, WindowClosed, WindowGainedFocus, WindowLostFocus.
WindowEvent
,
addWindowListener(java.awt.event.WindowListener)
,
BorderLayout
,
Serialized FormModifier and Type | Class and Description |
---|---|
protected class |
Window.AccessibleAWTWindow
This class implements accessibility support for the
Window class. |
static class |
Window.Type
Enumeration of available window types.
|
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
Window(Frame owner)
Constructs a new, initially invisible window with the specified
Frame as its owner. |
Window(Window owner)
Constructs a new, initially invisible window with the specified
Window as its owner. |
Window(Window owner,
GraphicsConfiguration gc)
Constructs a new, initially invisible window with the specified owner
Window and a GraphicsConfiguration
of a screen device. |
Modifier and Type | Method and Description |
---|---|
void |
addNotify()
Makes this Window displayable by creating the connection to its
native screen resource.
|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.
|
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list for a specific
property.
|
void |
addWindowFocusListener(WindowFocusListener l)
Adds the specified window focus listener to receive window events
from this window.
|
void |
addWindowListener(WindowListener l)
Adds the specified window listener to receive window events from
this window.
|
void |
addWindowStateListener(WindowStateListener l)
Adds the specified window state listener to receive window
events from this window.
|
void |
applyResourceBundle(ResourceBundle rb)
Deprecated.
As of J2SE 1.4, replaced by
Component.applyComponentOrientation . |
void |
applyResourceBundle(String rbName)
Deprecated.
As of J2SE 1.4, replaced by
Component.applyComponentOrientation . |
void |
createBufferStrategy(int numBuffers)
Creates a new strategy for multi-buffering on this component.
|
void |
createBufferStrategy(int numBuffers,
BufferCapabilities caps)
Creates a new strategy for multi-buffering on this component with the
required buffer capabilities.
|
void |
dispose()
Releases all of the native screen resources used by this
Window , its subcomponents, and all of its owned
children. |
AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with this Window.
|
Color |
getBackground()
Gets the background color of this window.
|
BufferStrategy |
getBufferStrategy()
Returns the
BufferStrategy used by this component. |
boolean |
getFocusableWindowState()
Returns whether this Window can become the focused Window if it meets
the other requirements outlined in
isFocusableWindow . |
Container |
getFocusCycleRootAncestor()
Always returns
null because Windows have no ancestors; they
represent the top of the Component hierarchy. |
Component |
getFocusOwner()
Returns the child Component of this Window that has focus if this Window
is focused; returns null otherwise.
|
Set<AWTKeyStroke> |
getFocusTraversalKeys(int id)
Gets a focus traversal key for this Window.
|
List<Image> |
getIconImages()
Returns the sequence of images to be displayed as the icon for this window.
|
InputContext |
getInputContext()
Gets the input context for this window.
|
<T extends EventListener> |
getListeners(Class<T> listenerType)
Returns an array of all the objects currently registered
as
FooListener s
upon this Window . |
Locale |
getLocale()
Gets the
Locale object that is associated
with this window, if the locale has been set. |
Dialog.ModalExclusionType |
getModalExclusionType()
Returns the modal exclusion type of this window.
|
Component |
getMostRecentFocusOwner()
Returns the child Component of this Window that will receive the focus
when this Window is focused.
|
float |
getOpacity()
Returns the opacity of the window.
|
Window[] |
getOwnedWindows()
Return an array containing all the windows this
window currently owns.
|
Window |
getOwner()
Returns the owner of this window.
|
static Window[] |
getOwnerlessWindows()
Returns an array of all
Window s created by this application
that have no owner. |
Shape |
getShape()
Returns the shape of the window.
|
Toolkit |
getToolkit()
Returns the toolkit of this frame.
|
Window.Type |
getType()
Returns the type of the window.
|
String |
getWarningString()
Gets the warning string that is displayed with this window.
|
WindowFocusListener[] |
getWindowFocusListeners()
Returns an array of all the window focus listeners
registered on this window.
|
WindowListener[] |
getWindowListeners()
Returns an array of all the window listeners
registered on this window.
|
static Window[] |
getWindows()
Returns an array of all
Window s, both owned and ownerless,
created by this application. |
WindowStateListener[] |
getWindowStateListeners()
Returns an array of all the window state listeners
registered on this window.
|
void |
hide()
Deprecated.
As of JDK version 1.5, replaced by
setVisible(boolean) . |
boolean |
isActive()
Returns whether this Window is active.
|
boolean |
isAlwaysOnTop()
Returns whether this window is an always-on-top window.
|
boolean |
isAlwaysOnTopSupported()
Returns whether the always-on-top mode is supported for this
window.
|
boolean |
isAutoRequestFocus()
Returns whether this window should receive focus on subsequently being shown
(with a call to
setVisible(true) ), or being moved to the front
(with a call to toFront() ). |
boolean |
isFocusableWindow()
Returns whether this Window can become the focused Window, that is,
whether this Window or any of its subcomponents can become the focus
owner.
|
boolean |
isFocusCycleRoot()
Always returns
true because all Windows must be roots of a
focus traversal cycle. |
boolean |
isFocused()
Returns whether this Window is focused.
|
boolean |
isLocationByPlatform()
Returns
true if this Window will appear at the default location
for the native windowing system the next time this Window is made visible. |
boolean |
isOpaque()
Indicates if the window is currently opaque.
|
boolean |
isShowing()
Checks if this Window is showing on screen.
|
boolean |
isValidateRoot()
Indicates if this container is a validate root.
|
void |
pack()
Causes this Window to be sized to fit the preferred size
and layouts of its subcomponents.
|
void |
paint(Graphics g)
Paints the container.
|
boolean |
postEvent(Event e)
Deprecated.
As of JDK version 1.1
replaced by
dispatchEvent(AWTEvent) . |
protected void |
processEvent(AWTEvent e)
Processes events on this window.
|
protected void |
processWindowEvent(WindowEvent e)
Processes window events occurring on this window by
dispatching them to any registered WindowListener objects.
|
protected void |
processWindowFocusEvent(WindowEvent e)
Processes window focus event occurring on this window by
dispatching them to any registered WindowFocusListener objects.
|
protected void |
processWindowStateEvent(WindowEvent e)
Processes window state event occurring on this window by
dispatching them to any registered
WindowStateListener
objects. |
void |
removeNotify()
Makes this Container undisplayable by removing its connection
to its native screen resource.
|
void |
removeWindowFocusListener(WindowFocusListener l)
Removes the specified window focus listener so that it no longer
receives window events from this window.
|
void |
removeWindowListener(WindowListener l)
Removes the specified window listener so that it no longer
receives window events from this window.
|
void |
removeWindowStateListener(WindowStateListener l)
Removes the specified window state listener so that it no
longer receives window events from this window.
|
void |
reshape(int x,
int y,
int width,
int height)
Deprecated.
As of JDK version 1.1,
replaced by
setBounds(int, int, int, int) . |
void |
setAlwaysOnTop(boolean alwaysOnTop)
Sets whether this window should always be above other windows.
|
void |
setAutoRequestFocus(boolean autoRequestFocus)
Sets whether this window should receive focus on
subsequently being shown (with a call to
setVisible(true) ),
or being moved to the front (with a call to toFront() ). |
void |
setBackground(Color bgColor)
Sets the background color of this window.
|
void |
setBounds(int x,
int y,
int width,
int height)
Moves and resizes this component.
|
void |
setBounds(Rectangle r)
Moves and resizes this component to conform to the new
bounding rectangle
r . |
void |
setCursor(Cursor cursor)
Set the cursor image to a specified cursor.
|
void |
setFocusableWindowState(boolean focusableWindowState)
Sets whether this Window can become the focused Window if it meets
the other requirements outlined in
isFocusableWindow . |
void |
setFocusCycleRoot(boolean focusCycleRoot)
Does nothing because Windows must always be roots of a focus traversal
cycle.
|
void |
setIconImage(Image image)
Sets the image to be displayed as the icon for this window.
|
void |
setIconImages(List<? extends Image> icons)
Sets the sequence of images to be displayed as the icon
for this window.
|
void |
setLocation(int x,
int y)
Moves this component to a new location.
|
void |
setLocation(Point p)
Moves this component to a new location.
|
void |
setLocationByPlatform(boolean locationByPlatform)
Sets whether this Window should appear at the default location for the
native windowing system or at the current location (returned by
getLocation ) the next time the Window is made visible. |
void |
setLocationRelativeTo(Component c)
Sets the location of the window relative to the specified
component according to the following scenarios.
|
void |
setMinimumSize(Dimension minimumSize)
Sets the minimum size of this window to a constant
value.
|
void |
setModalExclusionType(Dialog.ModalExclusionType exclusionType)
Specifies the modal exclusion type for this window.
|
void |
setOpacity(float opacity)
Sets the opacity of the window.
|
void |
setShape(Shape shape)
Sets the shape of the window.
|
void |
setSize(Dimension d)
Resizes this component so that it has width
d.width
and height d.height . |
void |
setSize(int width,
int height)
Resizes this component so that it has width
width
and height height . |
void |
setType(Window.Type type)
Sets the type of the window.
|
void |
setVisible(boolean b)
Shows or hides this
Window depending on the value of parameter
b . |
void |
show()
Deprecated.
As of JDK version 1.5, replaced by
setVisible(boolean) . |
void |
toBack()
If this Window is visible, sends this Window to the back and may cause
it to lose focus or activation if it is the focused or active Window.
|
void |
toFront()
If this Window is visible, brings this Window to the front and may make
it the focused Window.
|
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, paramString, 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, remove, 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
public Window(Frame owner)
Frame
as its owner. The window will not be focusable
unless its owner is showing on the screen.
If there is a security manager set, it is invoked to check
AWTPermission("showWindowWithoutWarningBanner")
.
If that check fails with a SecurityException
then a warning
banner is created.
owner
- the Frame
to act as owner or null
if this window has no ownerIllegalArgumentException
- if the owner
's
GraphicsConfiguration
is not from a screen deviceHeadlessException
- when
GraphicsEnvironment.isHeadless
returns true
GraphicsEnvironment.isHeadless()
,
isShowing()
public Window(Window owner)
Window
as its owner. This window will not be focusable
unless its nearest owning Frame
or Dialog
is showing on the screen.
If there is a security manager set, it is invoked to check
AWTPermission("showWindowWithoutWarningBanner")
.
If that check fails with a SecurityException
then a
warning banner is created.
owner
- the Window
to act as owner or
null
if this window has no ownerIllegalArgumentException
- if the owner
's
GraphicsConfiguration
is not from a screen deviceHeadlessException
- when
GraphicsEnvironment.isHeadless()
returns
true
GraphicsEnvironment.isHeadless()
,
isShowing()
public Window(Window owner, GraphicsConfiguration gc)
Window
and a GraphicsConfiguration
of a screen device. The Window will not be focusable unless
its nearest owning Frame
or Dialog
is showing on the screen.
If there is a security manager set, it is invoked to check
AWTPermission("showWindowWithoutWarningBanner")
. If that
check fails with a SecurityException
then a warning banner
is created.
owner
- the window to act as owner or null
if this window has no ownergc
- the GraphicsConfiguration
of the target
screen device; if gc
is null
,
the system default GraphicsConfiguration
is assumedIllegalArgumentException
- if gc
is not from a screen deviceHeadlessException
- when
GraphicsEnvironment.isHeadless()
returns
true
GraphicsEnvironment.isHeadless()
,
GraphicsConfiguration.getBounds()
,
isShowing()
public List<Image> getIconImages()
This method returns a copy of the internally stored list, so all operations on the returned object will not affect the window's behavior.
setIconImages(java.util.List<? extends java.awt.Image>)
,
setIconImage(Image)
public void setIconImages(List<? extends Image> icons)
getIconImages
will
always return a copy of the icons
list.
Depending on the platform capabilities one or several images of different dimensions will be used as the window's icon.
The icons
list is scanned for the images of most
appropriate dimensions from the beginning. If the list contains
several images of the same size, the first will be used.
Ownerless windows with no icon specified use platfrom-default icon.
The icon of an owned window may be inherited from the owner
unless explicitly overridden.
Setting the icon to null
or empty list restores
the default behavior.
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.
icons
- the list of icon images to be displayed.getIconImages()
,
setIconImage(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.
image
- the icon image to be displayed.setIconImages(java.util.List<? extends java.awt.Image>)
,
getIconImages()
public void addNotify()
addNotify
in class Container
Component.isDisplayable()
,
Container.removeNotify()
public void removeNotify()
removeNotify
in class Container
Component.isDisplayable()
,
Container.addNotify()
public void pack()
setMinimumSize
method.
If the window and/or its owner are not displayable yet, both of them are made displayable before calculating the preferred size. The Window is validated after its size is being calculated.
public void setMinimumSize(Dimension minimumSize)
getMinimumSize
will always return this value. If current window's
size is less than minimumSize
the size of the
window is automatically enlarged to honor the minimum size.
If the setSize
or setBounds
methods
are called afterwards with a width or height less than
that was specified by the setMinimumSize
method
the window is automatically enlarged to meet
the minimumSize
value. The minimumSize
value also affects the behaviour of the pack
method.
The default behavior is restored by setting the minimum size
parameter to the null
value.
Resizing operation may be restricted if the user tries
to resize window below the minimumSize
value.
This behaviour is platform-dependent.
setMinimumSize
in class Component
minimumSize
- the new minimum size of this windowComponent.setMinimumSize(java.awt.Dimension)
,
Container.getMinimumSize()
,
Component.isMinimumSizeSet()
,
setSize(Dimension)
,
pack()
public void setSize(Dimension d)
d.width
and height d.height
.
This method changes layout-related information, and therefore, invalidates the component hierarchy.
The d.width
and d.height
values
are automatically enlarged if either is less than
the minimum size as specified by previous call to
setMinimumSize
.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
setSize
in class Component
d
- the dimension specifying the new size
of this componentComponent.getSize()
,
setBounds(int, int, int, int)
,
setMinimumSize(java.awt.Dimension)
public void setSize(int width, int height)
width
and height height
.
This method changes layout-related information, and therefore, invalidates the component hierarchy.
The width
and height
values
are automatically enlarged if either is less than
the minimum size as specified by previous call to
setMinimumSize
.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
setSize
in class Component
width
- the new width of this component in pixelsheight
- the new height of this component in pixelsComponent.getSize()
,
setBounds(int, int, int, int)
,
setMinimumSize(java.awt.Dimension)
public void setLocation(int x, int y)
x
and y
parameters in the coordinate space of this component's parent.
This method changes layout-related information, and therefore, invalidates the component hierarchy.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
setLocation
in class Component
x
- the x-coordinate of the new location's
top-left corner in the parent's coordinate spacey
- the y-coordinate of the new location's
top-left corner in the parent's coordinate spaceComponent.getLocation()
,
Component.setBounds(int, int, int, int)
,
Component.invalidate()
public void setLocation(Point p)
p
. Point
p
is given in the parent's coordinate space.
This method changes layout-related information, and therefore, invalidates the component hierarchy.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
setLocation
in class Component
p
- the point defining the top-left corner
of the new location, given in the coordinate space of this
component's parentComponent.getLocation()
,
Component.setBounds(int, int, int, int)
,
Component.invalidate()
@Deprecated public void reshape(int x, int y, int width, int height)
setBounds(int, int, int, int)
.public void setVisible(boolean b)
Window
depending on the value of parameter
b
.
If the method shows the window then the window is also made focused under the following conditions:
Window
meets the requirements outlined in the
isFocusableWindow()
method.
Window
's autoRequestFocus
property is of the true
value.
Window
to get focused.
autoRequestFocus
property). The property is not taken into account if the
window is a modal dialog, which blocks the currently focused window.
Developers must never assume that the window is the focused or active window until it receives a WINDOW_GAINED_FOCUS or WINDOW_ACTIVATED event.
setVisible
in class Component
b
- if true
, makes the Window
visible,
otherwise hides the Window
.
If the Window
and/or its owner
are not yet displayable, both are made displayable. The
Window
will be validated prior to being made visible.
If the Window
is already visible, this will bring the
Window
to the front.
If false
, hides this Window
, its subcomponents, and all
of its owned children.
The Window
and its subcomponents can be made visible again
with a call to #setVisible(true)
.
Component.isDisplayable()
,
Component.setVisible(boolean)
,
toFront()
,
dispose()
,
setAutoRequestFocus(boolean)
,
isFocusableWindow()
@Deprecated public void show()
setVisible(boolean)
.show
in class Component
Component.isDisplayable()
,
toFront()
@Deprecated public void hide()
setVisible(boolean)
.show
.public void dispose()
Window
, its subcomponents, and all of its owned
children. That is, the resources for these Component
s
will be destroyed, any memory they consume will be returned to the
OS, and they will be marked as undisplayable.
The Window
and its subcomponents can be made displayable
again by rebuilding the native resources with a subsequent call to
pack
or show
. The states of the recreated
Window
and its subcomponents will be identical to the
states of these objects at the point where the Window
was disposed (not accounting for additional modifications between
those actions).
Note: When the last displayable window within the Java virtual machine (VM) is disposed of, the VM may terminate. See AWT Threading Issues for more information.
Component.isDisplayable()
,
pack()
,
show()
public void toFront()
Places this Window at the top of the stacking order and shows it in front of any other Windows in this VM. No action will take place if this Window is not visible. Some platforms do not allow Windows which own other Windows to appear on top of those owned Windows. Some platforms may not permit this VM to place its Windows above windows of native applications, or Windows of other VMs. This permission may depend on whether a Window in this VM is already focused. Every attempt will be made to move this Window as high as possible in the stacking order; however, developers should not assume that this method will move this Window above all other windows in every situation.
Developers must never assume that this Window is the focused or active Window until this Window receives a WINDOW_GAINED_FOCUS or WINDOW_ACTIVATED event. On platforms where the top-most window is the focused window, this method will probably focus this Window (if it is not already focused) under the following conditions:
isFocusableWindow()
method.
autoRequestFocus
is of the
true
value.
If this method causes this Window to be focused, and this Window is a Frame or a Dialog, it will also become activated. If this Window is focused, but it is not a Frame or a Dialog, then the first Frame or Dialog that is an owner of this Window will be activated.
If this window is blocked by modal dialog, then the blocking dialog is brought to the front and remains above the blocked window.
toBack()
,
setAutoRequestFocus(boolean)
,
isFocusableWindow()
public void toBack()
Places this Window at the bottom of the stacking order and shows it behind any other Windows in this VM. No action will take place is this Window is not visible. Some platforms do not allow Windows which are owned by other Windows to appear below their owners. Every attempt will be made to move this Window as low as possible in the stacking order; however, developers should not assume that this method will move this Window below all other windows in every situation.
Because of variations in native windowing systems, no guarantees about changes to the focused and active Windows can be made. Developers must never assume that this Window is no longer the focused or active Window until this Window receives a WINDOW_LOST_FOCUS or WINDOW_DEACTIVATED event. On platforms where the top-most window is the focused window, this method will probably cause this Window to lose focus. In that case, the next highest, focusable Window in this VM will receive focus. On platforms where the stacking order does not typically affect the focused window, this method will probably leave the focused and active Windows unchanged.
toFront()
public Toolkit getToolkit()
getToolkit
in class Component
Toolkit
,
Toolkit.getDefaultToolkit()
,
Component.getToolkit()
public final String getWarningString()
AWTPermission("showWindowWithoutWarningBanner")
.
If the window is secure, then getWarningString
returns null
. If the window is insecure, this
method checks for the system property
awt.appletWarning
and returns the string value of that property.
public Locale getLocale()
Locale
object that is associated
with this window, if the locale has been set.
If no locale has been set, then the default locale
is returned.public InputContext getInputContext()
getInputContext
in class Component
null
if no context can be determinedComponent.getInputContext()
public void setCursor(Cursor cursor)
The method may have no visual effect if the Java platform implementation and/or the native system do not support changing the mouse cursor shape.
setCursor
in class Component
cursor
- One of the constants defined
by the Cursor
class. If this parameter is null
then the cursor for this window will be set to the type
Cursor.DEFAULT_CURSOR.Component.getCursor()
,
Cursor
public Window getOwner()
public Window[] getOwnedWindows()
public static Window[] getWindows()
Window
s, both owned and ownerless,
created by this application.
If called from an applet, the array includes only the Window
s
accessible by that applet.
Warning: this method may return system created windows, such
as a print dialog. Applications should not assume the existence of
these dialogs, nor should an application assume anything about these
dialogs such as component positions, LayoutManager
s
or serialization.
Frame.getFrames()
,
getOwnerlessWindows()
public static Window[] getOwnerlessWindows()
Window
s created by this application
that have no owner. They include Frame
s and ownerless
Dialog
s and Window
s.
If called from an applet, the array includes only the Window
s
accessible by that applet.
Warning: this method may return system created windows, such
as a print dialog. Applications should not assume the existence of
these dialogs, nor should an application assume anything about these
dialogs such as component positions, LayoutManager
s
or serialization.
Frame.getFrames()
,
getWindows()
public void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
Dialog.ModalExclusionType
for
possible modal exclusion types.
If the given type is not supported, NO_EXCLUDE
is used.
Note: changing the modal exclusion type for a visible window may have no effect until it is hidden and then shown again.
exclusionType
- the modal exclusion type for this window; a null
value is equivalent to NO_EXCLUDE
SecurityException
- if the calling thread does not have permission
to set the modal exclusion property to the window with the given
exclusionType
Dialog.ModalExclusionType
,
getModalExclusionType()
,
Toolkit.isModalExclusionTypeSupported(java.awt.Dialog.ModalExclusionType)
public Dialog.ModalExclusionType getModalExclusionType()
Dialog.ModalExclusionType
,
setModalExclusionType(java.awt.Dialog.ModalExclusionType)
public void addWindowListener(WindowListener l)
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the window listenerremoveWindowListener(java.awt.event.WindowListener)
,
getWindowListeners()
public void addWindowStateListener(WindowStateListener l)
l
is null
,
no exception is thrown and no action is performed.
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the window state listenerremoveWindowStateListener(java.awt.event.WindowStateListener)
,
getWindowStateListeners()
public void addWindowFocusListener(WindowFocusListener l)
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the window focus listenerremoveWindowFocusListener(java.awt.event.WindowFocusListener)
,
getWindowFocusListeners()
public void removeWindowListener(WindowListener l)
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the window listeneraddWindowListener(java.awt.event.WindowListener)
,
getWindowListeners()
public void removeWindowStateListener(WindowStateListener l)
l
is null
, no exception is thrown and
no action is performed.
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the window state listeneraddWindowStateListener(java.awt.event.WindowStateListener)
,
getWindowStateListeners()
public void removeWindowFocusListener(WindowFocusListener l)
Refer to AWT Threading Issues for details on AWT's threading model.
l
- the window focus listeneraddWindowFocusListener(java.awt.event.WindowFocusListener)
,
getWindowFocusListeners()
public WindowListener[] getWindowListeners()
WindowListener
s
or an empty array if no window
listeners are currently registeredaddWindowListener(java.awt.event.WindowListener)
,
removeWindowListener(java.awt.event.WindowListener)
public WindowFocusListener[] getWindowFocusListeners()
WindowFocusListener
s
or an empty array if no window focus
listeners are currently registeredaddWindowFocusListener(java.awt.event.WindowFocusListener)
,
removeWindowFocusListener(java.awt.event.WindowFocusListener)
public WindowStateListener[] getWindowStateListeners()
WindowStateListener
s
or an empty array if no window state
listeners are currently registeredaddWindowStateListener(java.awt.event.WindowStateListener)
,
removeWindowStateListener(java.awt.event.WindowStateListener)
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener
s
upon this Window
.
FooListener
s are registered using the
addFooListener
method.
You can specify the listenerType
argument
with a class literal, such as
FooListener.class
.
For example, you can query a
Window
w
for its window listeners with the following code:
WindowListener[] wls = (WindowListener[])(w.getListeners(WindowListener.class));If no such listeners exist, this method returns an empty array.
getListeners
in class Container
listenerType
- the type of listeners requested; this parameter
should specify an interface that descends from
java.util.EventListener
FooListener
s on this window,
or an empty array if no such
listeners have been addedClassCastException
- if listenerType
doesn't specify a class or interface that implements
java.util.EventListener
NullPointerException
- if listenerType
is null
getWindowListeners()
protected void processEvent(AWTEvent e)
WindowEvent
, it invokes the
processWindowEvent
method, else it invokes its
superclass's processEvent
.
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
processEvent
in class Container
e
- the eventComponent.processComponentEvent(java.awt.event.ComponentEvent)
,
Component.processFocusEvent(java.awt.event.FocusEvent)
,
Component.processKeyEvent(java.awt.event.KeyEvent)
,
Component.processMouseEvent(java.awt.event.MouseEvent)
,
Component.processMouseMotionEvent(java.awt.event.MouseEvent)
,
Component.processInputMethodEvent(java.awt.event.InputMethodEvent)
,
Component.processHierarchyEvent(java.awt.event.HierarchyEvent)
,
Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)
protected void processWindowEvent(WindowEvent e)
addWindowListener
enableEvents
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
e
- the window eventComponent.enableEvents(long)
protected void processWindowFocusEvent(WindowEvent e)
addWindowFocusListener
enableEvents
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
e
- the window focus eventComponent.enableEvents(long)
protected void processWindowStateEvent(WindowEvent e)
WindowStateListener
objects.
NOTE: this method will not be called unless window state events
are enabled for this window. This happens when one of the
following occurs:
WindowStateListener
is registered via
addWindowStateListener
enableEvents
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
e
- the window state eventComponent.enableEvents(long)
public final void setAlwaysOnTop(boolean alwaysOnTop) throws SecurityException
If some other window is already always-on-top then the relative order between these windows is unspecified (depends on platform). No window can be brought to be over the always-on-top window except maybe another always-on-top window.
All windows owned by an always-on-top window inherit this state and
automatically become always-on-top. If a window ceases to be
always-on-top, the windows that it owns will no longer be
always-on-top. When an always-on-top window is sent toBack
, its always-on-top state is set to false
.
When this method is called on a window with a value of
true
, and the window is visible and the platform
supports always-on-top for this window, the window is immediately
brought forward, "sticking" it in the top-most position. If the
window isn`t currently visible, this method sets the always-on-top
state to true
but does not bring the window forward.
When the window is later shown, it will be always-on-top.
When this method is called on a window with a value of
false
the always-on-top state is set to normal. It may also
cause an unspecified, platform-dependent change in the z-order of
top-level windows, but other always-on-top windows will remain in
top-most position. Calling this method with a value of false
on a window that has a normal state has no effect.
Note: some platforms might not support always-on-top
windows. To detect if always-on-top windows are supported by the
current platform, use Toolkit.isAlwaysOnTopSupported()
and
isAlwaysOnTopSupported()
. If always-on-top mode
isn't supported for this window or this window's toolkit does not
support always-on-top windows, calling this method has no effect.
If a SecurityManager is installed, the calling thread must be granted the AWTPermission "setWindowAlwaysOnTop" in order to set the value of this property. If this permission is not granted, this method will throw a SecurityException, and the current value of the property will be left unchanged.
alwaysOnTop
- true if the window should always be above other
windowsSecurityException
- if the calling thread does not have
permission to set the value of always-on-top propertyisAlwaysOnTop()
,
toFront()
,
toBack()
,
AWTPermission
,
isAlwaysOnTopSupported()
,
getToolkit()
,
Toolkit.isAlwaysOnTopSupported()
public boolean isAlwaysOnTopSupported()
true
, if the always-on-top mode is supported for
this window and this window's toolkit supports always-on-top windows,
false
otherwisesetAlwaysOnTop(boolean)
,
getToolkit()
,
Toolkit.isAlwaysOnTopSupported()
public final boolean isAlwaysOnTop()
true
, if the window is in always-on-top state,
false
otherwisesetAlwaysOnTop(boolean)
public Component getFocusOwner()
getMostRecentFocusOwner()
,
isFocused()
public Component getMostRecentFocusOwner()
getFocusOwner()
. If
this Window is not focused, then the child Component that most recently
requested focus will be returned. If no child Component has ever
requested focus, and this is a focusable Window, then this Window's
initial focusable Component is returned. If no child Component has ever
requested focus, and this is a non-focusable Window, null is returned.getFocusOwner()
,
isFocused()
,
isFocusableWindow()
public boolean isActive()
isFocused()
public boolean isFocused()
If the focused Window is a Frame or a Dialog it is also the active Window. Otherwise, the active Window is the first Frame or Dialog that is an owner of the focused Window.
isActive()
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys
for a full description of each key.)
If the traversal key has not been explicitly set for this Window, then this Window's parent's traversal key is returned. If the traversal key has not been explicitly set for any of this Window's ancestors, then the current KeyboardFocusManager's default traversal key is returned.
getFocusTraversalKeys
in class Container
id
- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSIllegalArgumentException
- if id is not one of
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSContainer.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
,
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
public final void setFocusCycleRoot(boolean focusCycleRoot)
setFocusCycleRoot
in class Container
focusCycleRoot
- this value is ignoredisFocusCycleRoot()
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public final boolean isFocusCycleRoot()
true
because all Windows must be roots of a
focus traversal cycle.isFocusCycleRoot
in class Container
true
setFocusCycleRoot(boolean)
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public final Container getFocusCycleRootAncestor()
null
because Windows have no ancestors; they
represent the top of the Component hierarchy.getFocusCycleRootAncestor
in class Component
null
Container.isFocusCycleRoot()
public final boolean isFocusableWindow()
true
. For a Window which is not a Frame or
Dialog to be focusable, its focusable Window state must be set to
true
, its nearest owning Frame or Dialog must be
showing on the screen, and it must contain at least one Component in
its focus traversal cycle. If any of these conditions is not met, then
neither this Window nor any of its subcomponents can become the focus
owner.true
if this Window can be the focused Window;
false
otherwisegetFocusableWindowState()
,
setFocusableWindowState(boolean)
,
isShowing()
,
Component.isFocusable()
public boolean getFocusableWindowState()
isFocusableWindow
. If
this method returns false
, then
isFocusableWindow
will return false
as well.
If this method returns true
, then
isFocusableWindow
may return true
or
false
depending upon the other requirements which must be
met in order for a Window to be focusable.
By default, all Windows have a focusable Window state of
true
.
isFocusableWindow()
,
setFocusableWindowState(boolean)
,
isShowing()
,
Component.setFocusable(boolean)
public void setFocusableWindowState(boolean focusableWindowState)
isFocusableWindow
. If
this Window's focusable Window state is set to false
, then
isFocusableWindow
will return false
. If this
Window's focusable Window state is set to true
, then
isFocusableWindow
may return true
or
false
depending upon the other requirements which must be
met in order for a Window to be focusable.
Setting a Window's focusability state to false
is the
standard mechanism for an application to identify to the AWT a Window
which will be used as a floating palette or toolbar, and thus should be
a non-focusable Window.
Setting the focusability state on a visible Window
can have a delayed effect on some platforms the actual
change may happen only when the Window
becomes
hidden and then visible again. To ensure consistent behavior
across platforms, set the Window
's focusable state
when the Window
is invisible and then show it.
focusableWindowState
- whether this Window can be the focused
WindowisFocusableWindow()
,
getFocusableWindowState()
,
isShowing()
,
Component.setFocusable(boolean)
public void setAutoRequestFocus(boolean autoRequestFocus)
setVisible(true)
),
or being moved to the front (with a call to toFront()
).
Note that setVisible(true)
may be called indirectly
(e.g. when showing an owner of the window makes the window to be shown).
toFront()
may also be called indirectly (e.g. when
setVisible(true)
is called on already visible window).
In all such cases this property takes effect as well.
The value of the property is not inherited by owned windows.
autoRequestFocus
- whether this window should be focused on
subsequently being shown or being moved to the frontisAutoRequestFocus()
,
isFocusableWindow()
,
setVisible(boolean)
,
toFront()
public boolean isAutoRequestFocus()
setVisible(true)
), or being moved to the front
(with a call to toFront()
).
By default, the window has autoRequestFocus
value of true
.
autoRequestFocus
valuesetAutoRequestFocus(boolean)
public void addPropertyChangeListener(PropertyChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
addPropertyChangeListener
in class Container
listener
- the PropertyChangeListener to be addedComponent.removePropertyChangeListener(java.beans.PropertyChangeListener)
,
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
addPropertyChangeListener
in class Container
propertyName
- one of the property names listed abovelistener
- the PropertyChangeListener to be addedaddPropertyChangeListener(java.beans.PropertyChangeListener)
,
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
public boolean isValidateRoot()
Window
objects are the validate roots, and, therefore, they
override this method to return true
.
isValidateRoot
in class Container
true
Container.isValidateRoot()
@Deprecated public boolean postEvent(Event e)
dispatchEvent(AWTEvent)
.postEvent
in interface MenuContainer
postEvent
in class Component
public boolean isShowing()
isShowing
in class Component
true
if the component is showing,
false
otherwiseComponent.setVisible(boolean)
@Deprecated public void applyResourceBundle(ResourceBundle rb)
Component.applyComponentOrientation
.@Deprecated public void applyResourceBundle(String rbName)
Component.applyComponentOrientation
.public void setType(Window.Type type)
IllegalComponentStateException
- if the window
is displayable.IllegalArgumentException
- if the type is null
Component.isDisplayable()
,
getType()
public Window.Type getType()
setType(java.awt.Window.Type)
public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class Component
public void setLocationRelativeTo(Component c)
The target screen mentioned below is a screen to which the window should be placed after the setLocationRelativeTo method is called.
null
, or the GraphicsConfiguration
associated with this component is
null
, the window is placed in the center of the
screen. The center point can be obtained with the GraphicsEnvironment.getCenterPoint
method.
null
, but it is not
currently showing, the window is placed in the center of
the target screen defined by the GraphicsConfiguration
associated with this component.
null
and is shown on
the screen, then the window is located in such a way that
the center of the window coincides with the center of the
component.
If the screens configuration does not allow the window to
be moved from one screen to another, then the window is
only placed at the location determined according to the
above conditions and its GraphicsConfiguration
is
not changed.
Note: If the lower edge of the window is out of the screen,
then the window is placed to the side of the Component
that is closest to the center of the screen. So if the
component is on the right part of the screen, the window
is placed to its left, and vice versa.
If after the window location has been calculated, the upper, left, or right edge of the window is out of the screen, then the window is located in such a way that the upper, left, or right edge of the window coincides with the corresponding edge of the screen. If both left and right edges of the window are out of the screen, the window is placed at the left side of the screen. The similar placement will occur if both top and bottom edges are out of the screen. In that case, the window is placed at the top side of the screen.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
c
- the component in relation to which the window's location
is determinedGraphicsEnvironment.getCenterPoint()
public void createBufferStrategy(int numBuffers)
BufferStrategy
with that number of buffers.
A page-flipping strategy is attempted first, then a blitting strategy
using accelerated buffers. Finally, an unaccelerated blitting
strategy is used.
Each time this method is called, the existing buffer strategy for this component is discarded.
numBuffers
- number of buffers to createIllegalArgumentException
- if numBuffers is less than 1.IllegalStateException
- if the component is not displayableComponent.isDisplayable()
,
getBufferStrategy()
public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
Each time this method is called, the existing buffer strategy for this component is discarded.
numBuffers
- number of buffers to create, including the front buffercaps
- the required capabilities for creating the buffer strategy;
cannot be null
AWTException
- if the capabilities supplied could not be
supported or met; this may happen, for example, if there is not enough
accelerated memory currently available, or if page flipping is specified
but not possible.IllegalArgumentException
- if numBuffers is less than 1, or if
caps is null
getBufferStrategy()
public BufferStrategy getBufferStrategy()
BufferStrategy
used by this component. This
method will return null if a BufferStrategy
has not yet
been created or has been disposed.createBufferStrategy(int)
public void setLocationByPlatform(boolean locationByPlatform)
getLocation
) the next time the Window is made visible.
This behavior resembles a native window shown without programmatically
setting its location. Most windowing systems cascade windows if their
locations are not explicitly set. The actual location is determined once the
window is shown on the screen.
This behavior can also be enabled by setting the System Property "java.awt.Window.locationByPlatform" to "true", though calls to this method take precedence.
Calls to setVisible
, setLocation
and
setBounds
after calling setLocationByPlatform
clear
this property of the Window.
For example, after the following code is executed:
setLocationByPlatform(true); setVisible(true); boolean flag = isLocationByPlatform();The window will be shown at platform's default location and
flag
will be false
.
In the following sample:
setLocationByPlatform(true); setLocation(10, 10); boolean flag = isLocationByPlatform(); setVisible(true);The window will be shown at (10, 10) and
flag
will be
false
.locationByPlatform
- true
if this Window should appear
at the default location, false
if at the current locationIllegalComponentStateException
- if the window
is showing on screen and locationByPlatform is true
.setLocation(int, int)
,
isShowing()
,
setVisible(boolean)
,
isLocationByPlatform()
,
System.getProperty(String)
public boolean isLocationByPlatform()
true
if this Window will appear at the default location
for the native windowing system the next time this Window is made visible.
This method always returns false
if the Window is showing on the
screen.setLocationByPlatform(boolean)
,
isShowing()
public void setBounds(int x, int y, int width, int height)
x
and y
, and the
new size is specified by width
and height
.
This method changes layout-related information, and therefore, invalidates the component hierarchy.
The width
or height
values
are automatically enlarged if either is less than
the minimum size as specified by previous call to
setMinimumSize
.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
setBounds
in class Component
x
- the new x-coordinate of this componenty
- the new y-coordinate of this componentwidth
- the new width
of this componentheight
- the new height
of this
componentComponent.getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
,
setMinimumSize(java.awt.Dimension)
,
setLocationByPlatform(boolean)
,
isLocationByPlatform()
public void setBounds(Rectangle r)
r
. This component's new
position is specified by r.x
and r.y
,
and its new size is specified by r.width
and
r.height
This method changes layout-related information, and therefore, invalidates the component hierarchy.
The r.width
or r.height
values
will be automatically enlarged if either is less than
the minimum size as specified by previous call to
setMinimumSize
.
The method changes the geometry-related data. Therefore,
the native windowing system may ignore such requests, or it may modify
the requested data, so that the Window
object is placed and sized
in a way that corresponds closely to the desktop settings.
setBounds
in class Component
r
- the new bounding rectangle for this componentComponent.getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
,
setMinimumSize(java.awt.Dimension)
,
setLocationByPlatform(boolean)
,
isLocationByPlatform()
public float getOpacity()
setOpacity(float)
,
GraphicsDevice.WindowTranslucency
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
Frame.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 setBackground(Color)
) and the
current shape of this window (see setShape(Shape)
).
opacity
- the opacity level to set to the windowIllegalArgumentException
- if the opacity is out of the range
[0..1]IllegalComponentStateException
- if the window is decorated and
the opacity is less than 1.0f
IllegalComponentStateException
- if the window is in full screen
mode, and the opacity is less than 1.0f
UnsupportedOperationException
- if the GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT
translucency is not supported and the opacity is less than
1.0f
getOpacity()
,
setBackground(Color)
,
setShape(Shape)
,
Frame.isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
public Shape getShape()
setShape(shape)
, but it is guaranteed
to represent the same shape.null
if no
shape is specified for the windowsetShape(Shape)
,
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
Frame.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 setBackground(Color)
) and the
opacity value (see setOpacity(float)
). See GraphicsDevice.WindowTranslucency
for more details.
shape
- the shape to set to the windowIllegalComponentStateException
- if the shape is not null
and the window is decoratedIllegalComponentStateException
- if the shape is not null
and the window is in full-screen modeUnsupportedOperationException
- if the shape is not null
and PERPIXEL_TRANSPARENT
translucency is not supportedgetShape()
,
setBackground(Color)
,
setOpacity(float)
,
Frame.isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
public Color getBackground()
Note that the alpha component of the returned color indicates whether the window is in the non-opaque (per-pixel translucent) mode.
getBackground
in class Component
setBackground(Color)
,
isOpaque()
,
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
Frame.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 setOpacity(float)
), as well as the current shape of
this window (see 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 Component
bgColor
- the color to become this window's background color.IllegalComponentStateException
- if the alpha value of the given
background color is less than 1.0f
and the window is decoratedIllegalComponentStateException
- if the alpha value of the given
background color is less than 1.0f
and the window is in
full-screen modeUnsupportedOperationException
- if the alpha value of the given
background color is less than 1.0f
and PERPIXEL_TRANSLUCENT
translucency is not supportedgetBackground()
,
isOpaque()
,
setOpacity(float)
,
setShape(Shape)
,
Frame.isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
,
GraphicsConfiguration.isTranslucencyCapable()
public boolean isOpaque()
The method returns false
if the background color of the window
is not null
and the alpha component of the color is less than
1.0f
. The method returns true
otherwise.
isOpaque
in class Component
true
if the window is opaque, false
otherwisegetBackground()
,
setBackground(Color)
public void paint(Graphics g)
paint
in class Container
g
- the specified Graphics windowComponent.update(Graphics)
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.