Class JWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- javax.swing.JWindow
-
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer
public class JWindow extends Window implements Accessible, RootPaneContainer
AJWindow
is a container that can be displayed anywhere on the user's desktop. It does not have the title bar, window-management buttons, or other trimmings associated with aJFrame
, but it is still a "first-class citizen" of the user's desktop, and can exist anywhere on it.The
JWindow
component contains aJRootPane
as its only child. ThecontentPane
should be the parent of any children of theJWindow
. As a convenience, theadd
,remove
, andsetLayout
methods of this class are overridden, so that they delegate calls to the corresponding methods of theContentPane
. For example, you can add a child component to a window as follows:window.add(child);
And the child will be added to the contentPane. ThecontentPane
will always be non-null
. Attempting to set it tonull
will cause theJWindow
to throw an exception. The defaultcontentPane
will have aBorderLayout
manager set on it. Refer toRootPaneContainer
for details on adding, removing and setting theLayoutManager
of aJWindow
.Please see the
JRootPane
documentation for a complete description of thecontentPane
,glassPane
, andlayeredPane
components.In a multi-screen environment, you can create a
JWindow
on a different screen device. SeeWindow
for more information.Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the
java.beans
package. Please seeXMLEncoder
.- See Also:
-
JRootPane
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description protected class
JWindow.AccessibleJWindow
This class implements accessibility support for theJWindow
class.-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field and Description protected AccessibleContext
accessibleContext
The accessible context property.protected JRootPane
rootPane
TheJRootPane
instance that manages thecontentPane
and optionalmenuBar
for this frame, as well as theglassPane
.protected boolean
rootPaneCheckingEnabled
If true then calls toadd
andsetLayout
will be forwarded to thecontentPane
.-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor and Description JWindow()
Creates a window with no specified owner.JWindow(Frame owner)
Creates a window with the specified owner frame.JWindow(GraphicsConfiguration gc)
Creates a window with the specifiedGraphicsConfiguration
of a screen device.JWindow(Window owner)
Creates a window with the specified owner window.JWindow(Window owner, GraphicsConfiguration gc)
Creates a window with the specified owner window andGraphicsConfiguration
of a screen device.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description protected void
addImpl(Component comp, Object constraints, int index)
Adds the specified childComponent
.protected JRootPane
createRootPane()
Called by the constructor methods to create the defaultrootPane
.AccessibleContext
getAccessibleContext()
Gets the AccessibleContext associated with this JWindow.Container
getContentPane()
Returns theContainer
which is thecontentPane
for this window.Component
getGlassPane()
Returns theglassPane Component
for this window.Graphics
getGraphics()
Creates a graphics context for this component.JLayeredPane
getLayeredPane()
Returns thelayeredPane
object for this window.JRootPane
getRootPane()
Returns therootPane
object for this window.TransferHandler
getTransferHandler()
Gets thetransferHandler
property.protected boolean
isRootPaneCheckingEnabled()
Returns whether calls toadd
andsetLayout
are forwarded to thecontentPane
.protected String
paramString()
Returns a string representation of thisJWindow
.void
remove(Component comp)
Removes the specified component from the container.void
repaint(long time, int x, int y, int width, int height)
Repaints the specified rectangle of this component withintime
milliseconds.void
setContentPane(Container contentPane)
Sets thecontentPane
property for this window.void
setGlassPane(Component glassPane)
Sets theglassPane
property.void
setLayeredPane(JLayeredPane layeredPane)
Sets thelayeredPane
property.void
setLayout(LayoutManager manager)
Sets theLayoutManager
.protected void
setRootPane(JRootPane root)
Sets the newrootPane
object for this window.protected void
setRootPaneCheckingEnabled(boolean enabled)
Sets whether calls toadd
andsetLayout
are forwarded to thecontentPane
.void
setTransferHandler(TransferHandler newHandler)
Sets thetransferHandler
property, which is a mechanism to support transfer of data into this component.void
update(Graphics g)
Callspaint(g)
.protected void
windowInit()
Called by the constructors to init theJWindow
properly.-
Methods inherited from class java.awt.Window
addNotify, 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, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBackground, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setOpacity, setShape, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
rootPane
protected JRootPane rootPane
TheJRootPane
instance that manages thecontentPane
and optionalmenuBar
for this frame, as well as theglassPane
.- See Also:
-
getRootPane()
,setRootPane(javax.swing.JRootPane)
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabled
If true then calls toadd
andsetLayout
will be forwarded to thecontentPane
. This is initially false, but is set to true when theJWindow
is constructed.
accessibleContext
protected AccessibleContext accessibleContext
The accessible context property.
-
Constructor Detail
JWindow
public JWindow()
Creates a window with no specified owner. This window will not be focusable.This constructor sets the component's locale property to the value returned by
JComponent.getDefaultLocale
.- Throws:
-
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returns true. - See Also:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
JWindow
public JWindow(GraphicsConfiguration gc)
Creates a window with the specifiedGraphicsConfiguration
of a screen device. This window will not be focusable.This constructor sets the component's locale property to the value returned by
JComponent.getDefaultLocale
.- Parameters:
-
gc
- theGraphicsConfiguration
that is used to construct the new window with; if gc isnull
, the system defaultGraphicsConfiguration
is assumed - Throws:
-
HeadlessException
- IfGraphicsEnvironment.isHeadless()
returns true. -
IllegalArgumentException
- ifgc
is not from a screen device. - Since:
- 1.3
- See Also:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
JWindow
public JWindow(Frame owner)
Creates a window with the specified owner frame. Ifowner
isnull
, the shared owner will be used and this window will not be focusable. Also, this window will not be focusable unless its owner is showing on the screen.This constructor sets the component's locale property to the value returned by
JComponent.getDefaultLocale
.- Parameters:
-
owner
- the frame from which the window is displayed - Throws:
-
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true. - See Also:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
JWindow
public JWindow(Window owner)
Creates a window with the specified owner window. This window will not be focusable unless its owner is showing on the screen. Ifowner
isnull
, the shared owner will be used and this window will not be focusable.This constructor sets the component's locale property to the value returned by
JComponent.getDefaultLocale
.- Parameters:
-
owner
- the window from which the window is displayed - Throws:
-
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returns true. - See Also:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
JWindow
public JWindow(Window owner, GraphicsConfiguration gc)
Creates a window with the specified owner window andGraphicsConfiguration
of a screen device. Ifowner
isnull
, the shared owner will be used and this window will not be focusable.This constructor sets the component's locale property to the value returned by
JComponent.getDefaultLocale
.- Parameters:
-
owner
- the window from which the window is displayed -
gc
- theGraphicsConfiguration
that is used to construct the new window with; if gc isnull
, the system defaultGraphicsConfiguration
is assumed, unlessowner
is also null, in which case theGraphicsConfiguration
from the shared owner frame will be used. - Throws:
-
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returns true. -
IllegalArgumentException
- ifgc
is not from a screen device. - Since:
- 1.3
- See Also:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
-
Method Detail
windowInit
protected void windowInit()
Called by the constructors to init theJWindow
properly.
createRootPane
protected JRootPane createRootPane()
Called by the constructor methods to create the defaultrootPane
.
isRootPaneCheckingEnabled
protected boolean isRootPaneCheckingEnabled()
Returns whether calls toadd
andsetLayout
are forwarded to thecontentPane
.- Returns:
-
true if
add
andsetLayout
are forwarded; false otherwise - See Also:
-
addImpl(java.awt.Component, java.lang.Object, int)
,setLayout(java.awt.LayoutManager)
,setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
setTransferHandler
public void setTransferHandler(TransferHandler newHandler)
Sets thetransferHandler
property, which is a mechanism to support transfer of data into this component. Usenull
if the component does not support data transfer operations.If the system property
suppressSwingDropSupport
isfalse
(the default) and the current drop target on this component is eithernull
or not a user-set drop target, this method will change the drop target as follows: IfnewHandler
isnull
it will clear the drop target. If notnull
it will install a newDropTarget
.Note: When used with
JWindow
,TransferHandler
only provides data import capability, as the data export related methods are currently typed toJComponent
.Please see How to Use Drag and Drop and Data Transfer, a section in The Java Tutorial, for more information.
- Parameters:
-
newHandler
- the newTransferHandler
- Since:
- 1.6
- See Also:
-
TransferHandler
,getTransferHandler()
,Component.setDropTarget(java.awt.dnd.DropTarget)
getTransferHandler
public TransferHandler getTransferHandler()
Gets thetransferHandler
property.- Returns:
-
the value of the
transferHandler
property - Since:
- 1.6
- See Also:
-
TransferHandler
,setTransferHandler(javax.swing.TransferHandler)
update
public void update(Graphics g)
Callspaint(g)
. This method was overridden to prevent an unnecessary call to clear the background.- Overrides:
-
update
in classContainer
- Parameters:
-
g
- theGraphics
context in which to paint - See Also:
-
Component.update(Graphics)
setRootPaneCheckingEnabled
protected void setRootPaneCheckingEnabled(boolean enabled)
Sets whether calls toadd
andsetLayout
are forwarded to thecontentPane
.- Parameters:
-
enabled
- true ifadd
andsetLayout
are forwarded, false if they should operate directly on theJWindow
. - See Also:
-
addImpl(java.awt.Component, java.lang.Object, int)
,setLayout(java.awt.LayoutManager)
,isRootPaneCheckingEnabled()
,RootPaneContainer
addImpl
protected void addImpl(Component comp, Object constraints, int index)
Adds the specified childComponent
. This method is overridden to conditionally forward calls to thecontentPane
. By default, children are added to thecontentPane
instead of the frame, refer toRootPaneContainer
for details.- Overrides:
-
addImpl
in classContainer
- Parameters:
-
comp
- the component to be enhanced -
constraints
- the constraints to be respected -
index
- the index - Throws:
-
IllegalArgumentException
- ifindex
is invalid -
IllegalArgumentException
- if adding the container's parent to itself -
IllegalArgumentException
- if adding a window to a container - See Also:
-
setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
remove
public void remove(Component comp)
Removes the specified component from the container. Ifcomp
is not therootPane
, this will forward the call to thecontentPane
. This will do nothing ifcomp
is not a child of theJWindow
orcontentPane
.- Overrides:
-
remove
in classContainer
- Parameters:
-
comp
- the component to be removed - Throws:
-
NullPointerException
- ifcomp
is null - See Also:
-
Container.add(java.awt.Component)
,RootPaneContainer
setLayout
public void setLayout(LayoutManager manager)
Sets theLayoutManager
. Overridden to conditionally forward the call to thecontentPane
. Refer toRootPaneContainer
for more information.- Overrides:
-
setLayout
in classContainer
- Parameters:
-
manager
- theLayoutManager
- See Also:
-
setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
getRootPane
public JRootPane getRootPane()
Returns therootPane
object for this window.- Specified by:
-
getRootPane
in interfaceRootPaneContainer
- Returns:
-
the
rootPane
property for this window - See Also:
-
setRootPane(javax.swing.JRootPane)
,RootPaneContainer.getRootPane()
setRootPane
protected void setRootPane(JRootPane root)
Sets the newrootPane
object for this window. This method is called by the constructor.- Parameters:
-
root
- the newrootPane
property - See Also:
-
getRootPane()
getContentPane
public Container getContentPane()
Returns theContainer
which is thecontentPane
for this window.- Specified by:
-
getContentPane
in interfaceRootPaneContainer
- Returns:
-
the
contentPane
property - See Also:
-
setContentPane(java.awt.Container)
,RootPaneContainer.getContentPane()
setContentPane
public void setContentPane(Container contentPane)
Sets thecontentPane
property for this window. This method is called by the constructor.- Specified by:
-
setContentPane
in interfaceRootPaneContainer
- Parameters:
-
contentPane
- the newcontentPane
- Throws:
-
IllegalComponentStateException
- (a runtime exception) if the content pane parameter isnull
- See Also:
-
getContentPane()
,RootPaneContainer.setContentPane(java.awt.Container)
getLayeredPane
public JLayeredPane getLayeredPane()
Returns thelayeredPane
object for this window.- Specified by:
-
getLayeredPane
in interfaceRootPaneContainer
- Returns:
-
the
layeredPane
property - See Also:
-
setLayeredPane(javax.swing.JLayeredPane)
,RootPaneContainer.getLayeredPane()
setLayeredPane
public void setLayeredPane(JLayeredPane layeredPane)
Sets thelayeredPane
property. This method is called by the constructor.- Specified by:
-
setLayeredPane
in interfaceRootPaneContainer
- Parameters:
-
layeredPane
- the newlayeredPane
object - Throws:
-
IllegalComponentStateException
- (a runtime exception) if the content pane parameter isnull
- See Also:
-
getLayeredPane()
,RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
getGlassPane
public Component getGlassPane()
Returns theglassPane Component
for this window.- Specified by:
-
getGlassPane
in interfaceRootPaneContainer
- Returns:
-
the
glassPane
property - See Also:
-
setGlassPane(java.awt.Component)
,RootPaneContainer.getGlassPane()
setGlassPane
public void setGlassPane(Component glassPane)
Sets theglassPane
property. This method is called by the constructor.- Specified by:
-
setGlassPane
in interfaceRootPaneContainer
- Parameters:
-
glassPane
- theglassPane
object for this window - See Also:
-
getGlassPane()
,RootPaneContainer.setGlassPane(java.awt.Component)
getGraphics
public Graphics getGraphics()
Creates a graphics context for this component. This method will returnnull
if this component is currently not displayable.- Overrides:
-
getGraphics
in classComponent
- Returns:
-
a graphics context for this component, or
null
if it has none - Since:
- 1.6
- See Also:
-
Component.paint(java.awt.Graphics)
repaint
public void repaint(long time, int x, int y, int width, int height)
Repaints the specified rectangle of this component withintime
milliseconds. Refer toRepaintManager
for details on how the repaint is handled.- Overrides:
-
repaint
in classComponent
- Parameters:
-
time
- maximum time in milliseconds before update -
x
- the x coordinate -
y
- the y coordinate -
width
- the width -
height
- the height - Since:
- 1.6
- See Also:
-
RepaintManager
paramString
protected String paramString()
Returns a string representation of thisJWindow
. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull
.- Overrides:
-
paramString
in classContainer
- Returns:
-
a string representation of this
JWindow
getAccessibleContext
public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JWindow. For JWindows, the AccessibleContext takes the form of an AccessibleJWindow. A new AccessibleJWindow instance is created if necessary.- Specified by:
-
getAccessibleContext
in interfaceAccessible
- Overrides:
-
getAccessibleContext
in classWindow
- Returns:
- an AccessibleJWindow that serves as the AccessibleContext of this JWindow
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.