Class JWindow
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer
JWindow 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 a JFrame, but it is still a
"first-class citizen" of the user's desktop, and can exist anywhere
on it.
The JWindow component contains a JRootPane
as its only child. The contentPane should be the parent
of any children of the JWindow.
As a convenience, the add, remove, and setLayout
methods of this class are overridden, so that they delegate calls
to the corresponding methods of the ContentPane.
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.
The contentPane will always be non-null.
Attempting to set it to null will cause the JWindow
to throw an exception. The default contentPane will have a
BorderLayout manager set on it.
Refer to RootPaneContainer
for details on adding, removing and setting the LayoutManager
of a JWindow.
Please see the JRootPane documentation for a complete description of
the contentPane, glassPane, and
layeredPane components.
In a multi-screen environment, you can create a JWindow
on a different screen device. See Window 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 see XMLEncoder.
- Since:
- 1.2
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classThis class implements accessibility support for theJWindowclass.Nested classes/interfaces declared in class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AccessibleContextThe accessible context property.protected JRootPaneTheJRootPaneinstance that manages thecontentPaneand optionalmenuBarfor this frame, as well as theglassPane.protected booleanIf true then calls toaddandsetLayoutwill be forwarded to thecontentPane.Fields declared in class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionJWindow()Creates a window with no specified owner.Creates a window with the specified owner frame.Creates a window with the specifiedGraphicsConfigurationof a screen device.Creates a window with the specified owner window.JWindow(Window owner, GraphicsConfiguration gc) Creates a window with the specified owner window andGraphicsConfigurationof a screen device. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds the specified childComponent.protected JRootPaneCalled by the constructor methods to create the defaultrootPane.Gets the AccessibleContext associated with this JWindow.Returns theContainerwhich is thecontentPanefor this window.Returns theglassPane Componentfor this window.Creates a graphics context for this component.Returns thelayeredPaneobject for this window.Returns therootPaneobject for this window.Gets thetransferHandlerproperty.protected booleanReturns whether calls toaddandsetLayoutare forwarded to thecontentPane.protected StringReturns a string representation of thisJWindow.voidRemoves the specified component from the container.voidrepaint(long time, int x, int y, int width, int height) Repaints the specified rectangle of this component withintimemilliseconds.voidsetContentPane(Container contentPane) Sets thecontentPaneproperty for this window.voidsetGlassPane(Component glassPane) Sets theglassPaneproperty.voidsetLayeredPane(JLayeredPane layeredPane) Sets thelayeredPaneproperty.voidsetLayout(LayoutManager manager) Sets theLayoutManager.protected voidsetRootPane(JRootPane root) Sets the newrootPaneobject for this window.protected voidsetRootPaneCheckingEnabled(boolean enabled) Sets whether calls toaddandsetLayoutare forwarded to thecontentPane.voidsetTransferHandler(TransferHandler newHandler) Sets thetransferHandlerproperty, which is a mechanism to support transfer of data into this component.voidCallspaint(g).protected voidCalled by the constructors to init theJWindowproperly.Methods declared in 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, 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, toFrontMethods declared in 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, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTreeMethods declared in 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
rootPane
TheJRootPaneinstance that manages thecontentPaneand optionalmenuBarfor this frame, as well as theglassPane.- See Also:
-
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabledIf true then calls toaddandsetLayoutwill be forwarded to thecontentPane. This is initially false, but is set to true when theJWindowis constructed.- See Also:
-
accessibleContext
The accessible context property.
-
-
Constructor Details
-
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:
-
JWindow
Creates a window with the specifiedGraphicsConfigurationof 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- theGraphicsConfigurationthat is used to construct the new window with; if gc isnull, the system defaultGraphicsConfigurationis assumed- Throws:
HeadlessException- IfGraphicsEnvironment.isHeadless()returns true.IllegalArgumentException- ifgcis not from a screen device.- Since:
- 1.3
- See Also:
-
JWindow
Creates a window with the specified owner frame. Ifownerisnull, 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:
-
JWindow
Creates a window with the specified owner window. This window will not be focusable unless its owner is showing on the screen. Ifownerisnull, 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:
-
JWindow
Creates a window with the specified owner window andGraphicsConfigurationof a screen device. Ifownerisnull, 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 displayedgc- theGraphicsConfigurationthat is used to construct the new window with; if gc isnull, the system defaultGraphicsConfigurationis assumed, unlessowneris also null, in which case theGraphicsConfigurationfrom the shared owner frame will be used.- Throws:
HeadlessException- ifGraphicsEnvironment.isHeadless()returns true.IllegalArgumentException- ifgcis not from a screen device.- Since:
- 1.3
- See Also:
-
-
Method Details
-
windowInit
protected void windowInit()Called by the constructors to init theJWindowproperly. -
createRootPane
Called by the constructor methods to create the defaultrootPane.- Returns:
- a new
JRootPane
-
isRootPaneCheckingEnabled
protected boolean isRootPaneCheckingEnabled()Returns whether calls toaddandsetLayoutare forwarded to thecontentPane.- Returns:
- true if
addandsetLayoutare forwarded; false otherwise - See Also:
-
setTransferHandler
@BeanProperty(hidden=true, description="Mechanism for transfer of data into the component") public void setTransferHandler(TransferHandler newHandler) Sets thetransferHandlerproperty, which is a mechanism to support transfer of data into this component. Usenullif the component does not support data transfer operations.If the system property
suppressSwingDropSupportisfalse(the default) and the current drop target on this component is eithernullor not a user-set drop target, this method will change the drop target as follows: IfnewHandlerisnullit will clear the drop target. If notnullit will install a newDropTarget.Note: When used with
JWindow,TransferHandleronly 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:
-
getTransferHandler
Gets thetransferHandlerproperty.- Returns:
- the value of the
transferHandlerproperty - Since:
- 1.6
- See Also:
-
update
-
setRootPaneCheckingEnabled
@BeanProperty(hidden=true, description="Whether the add and setLayout methods are forwarded") protected void setRootPaneCheckingEnabled(boolean enabled) Sets whether calls toaddandsetLayoutare forwarded to thecontentPane.- Parameters:
enabled- true ifaddandsetLayoutare forwarded, false if they should operate directly on theJWindow.- See Also:
-
addImpl
Adds the specified childComponent. This method is overridden to conditionally forward calls to thecontentPane. By default, children are added to thecontentPaneinstead of the frame, refer toRootPaneContainerfor details.- Overrides:
addImplin classContainer- Parameters:
comp- the component to be enhancedconstraints- the constraints to be respectedindex- the index- Throws:
IllegalArgumentException- ifindexis invalidIllegalArgumentException- if adding the container's parent to itselfIllegalArgumentException- if adding a window to a container- See Also:
-
remove
Removes the specified component from the container. Ifcompis not therootPane, this will forward the call to thecontentPane. This will do nothing ifcompis not a child of theJWindoworcontentPane.- Overrides:
removein classContainer- Parameters:
comp- the component to be removed- Throws:
NullPointerException- ifcompis null- See Also:
-
setLayout
Sets theLayoutManager. Overridden to conditionally forward the call to thecontentPane. Refer toRootPaneContainerfor more information. -
getRootPane
@BeanProperty(bound=false, hidden=true, description="the RootPane object for this window.") public JRootPane getRootPane()Returns therootPaneobject for this window.- Specified by:
getRootPanein interfaceRootPaneContainer- Returns:
- the
rootPaneproperty for this window - See Also:
-
setRootPane
Sets the newrootPaneobject for this window. This method is called by the constructor.- Parameters:
root- the newrootPaneproperty- See Also:
-
getContentPane
Returns theContainerwhich is thecontentPanefor this window.- Specified by:
getContentPanein interfaceRootPaneContainer- Returns:
- the
contentPaneproperty - See Also:
-
setContentPane
@BeanProperty(bound=false, hidden=true, description="The client area of the window where child components are normally inserted.") public void setContentPane(Container contentPane) Sets thecontentPaneproperty for this window. This method is called by the constructor.- Specified by:
setContentPanein interfaceRootPaneContainer- Parameters:
contentPane- the newcontentPane- Throws:
IllegalComponentStateException- (a runtime exception) if the content pane parameter isnull- See Also:
-
getLayeredPane
Returns thelayeredPaneobject for this window.- Specified by:
getLayeredPanein interfaceRootPaneContainer- Returns:
- the
layeredPaneproperty - See Also:
-
setLayeredPane
@BeanProperty(bound=false, hidden=true, description="The pane which holds the various window layers.") public void setLayeredPane(JLayeredPane layeredPane) Sets thelayeredPaneproperty. This method is called by the constructor.- Specified by:
setLayeredPanein interfaceRootPaneContainer- Parameters:
layeredPane- the newlayeredPaneobject- Throws:
IllegalComponentStateException- (a runtime exception) if the content pane parameter isnull- See Also:
-
getGlassPane
Returns theglassPane Componentfor this window.- Specified by:
getGlassPanein interfaceRootPaneContainer- Returns:
- the
glassPaneproperty - See Also:
-
setGlassPane
@BeanProperty(bound=false, hidden=true, description="A transparent pane used for menu rendering.") public void setGlassPane(Component glassPane) Sets theglassPaneproperty. This method is called by the constructor.- Specified by:
setGlassPanein interfaceRootPaneContainer- Parameters:
glassPane- theglassPaneobject for this window- See Also:
-
getGraphics
Creates a graphics context for this component. This method will returnnullif this component is currently not displayable.- Overrides:
getGraphicsin classComponent- Returns:
- a graphics context for this component, or
nullif it has none - Since:
- 1.6
- See Also:
-
repaint
public void repaint(long time, int x, int y, int width, int height) Repaints the specified rectangle of this component withintimemilliseconds. Refer toRepaintManagerfor details on how the repaint is handled. -
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:
paramStringin classContainer- Returns:
- a string representation of this
JWindow
-
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:
getAccessibleContextin interfaceAccessible- Overrides:
getAccessibleContextin classWindow- Returns:
- an AccessibleJWindow that serves as the AccessibleContext of this JWindow
-