- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- javax.swing.JWindow
-
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer
@JavaBean(defaultProperty="accessibleContext", description="A toplevel window which has no system border or controls.") public class JWindow extends Window implements Accessible, RootPaneContainer
AJWindowis 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
JWindowcomponent contains aJRootPaneas its only child. ThecontentPaneshould be the parent of any children of theJWindow. As a convenience, theadd,remove, andsetLayoutmethods 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. ThecontentPanewill always be non-null. Attempting to set it tonullwill cause theJWindowto throw an exception. The defaultcontentPanewill have aBorderLayoutmanager set on it. Refer toRootPaneContainerfor details on adding, removing and setting theLayoutManagerof aJWindow.Please see the
JRootPanedocumentation for a complete description of thecontentPane,glassPane, andlayeredPanecomponents.In a multi-screen environment, you can create a
JWindowon a different screen device. SeeWindowfor 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.beanspackage. Please seeXMLEncoder.- Since:
- 1.2
- See Also:
JRootPane, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classJWindow.AccessibleJWindowThis class implements accessibility support for theJWindowclass.-
Nested classes/interfaces declared in class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected AccessibleContextaccessibleContextThe accessible context property.protected JRootPanerootPaneTheJRootPaneinstance that manages thecontentPaneand optionalmenuBarfor this frame, as well as theglassPane.protected booleanrootPaneCheckingEnabledIf true then calls toaddandsetLayoutwill be forwarded to thecontentPane.-
Fields declared in class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor 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 specifiedGraphicsConfigurationof 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 andGraphicsConfigurationof a screen device.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddImpl(Component comp, Object constraints, int index)Adds the specified childComponent.protected JRootPanecreateRootPane()Called by the constructor methods to create the defaultrootPane.AccessibleContextgetAccessibleContext()Gets the AccessibleContext associated with this JWindow.ContainergetContentPane()Returns theContainerwhich is thecontentPanefor this window.ComponentgetGlassPane()Returns theglassPane Componentfor this window.GraphicsgetGraphics()Creates a graphics context for this component.JLayeredPanegetLayeredPane()Returns thelayeredPaneobject for this window.JRootPanegetRootPane()Returns therootPaneobject for this window.TransferHandlergetTransferHandler()Gets thetransferHandlerproperty.protected booleanisRootPaneCheckingEnabled()Returns whether calls toaddandsetLayoutare forwarded to thecontentPane.protected StringparamString()Returns a string representation of thisJWindow.voidremove(Component comp)Removes 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.voidupdate(Graphics g)Callspaint(g).protected voidwindowInit()Called 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, toFront
-
Methods 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, validateTree
-
Methods 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 Detail
-
rootPane
protected JRootPane rootPane
TheJRootPaneinstance that manages thecontentPaneand optionalmenuBarfor this frame, as well as theglassPane.- See Also:
getRootPane(),setRootPane(javax.swing.JRootPane)
-
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabled
If true then calls toaddandsetLayoutwill be forwarded to thecontentPane. This is initially false, but is set to true when theJWindowis 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 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:
GraphicsEnvironment.isHeadless(),Window.isFocusableWindow(),JComponent.getDefaultLocale()
-
JWindow
public JWindow(Frame owner)
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:
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. 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:
GraphicsEnvironment.isHeadless(),Window.isFocusableWindow(),JComponent.getDefaultLocale()
-
JWindow
public JWindow(Window owner, GraphicsConfiguration gc)
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:
GraphicsEnvironment.isHeadless(),Window.isFocusableWindow(),JComponent.getDefaultLocale()
-
-
Method Detail
-
windowInit
protected void windowInit()
Called by the constructors to init theJWindowproperly.
-
createRootPane
protected JRootPane 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:
addImpl(java.awt.Component, java.lang.Object, int),setLayout(java.awt.LayoutManager),setRootPaneCheckingEnabled(boolean),RootPaneContainer
-
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:
TransferHandler,getTransferHandler(),Component.setDropTarget(java.awt.dnd.DropTarget)
-
getTransferHandler
public TransferHandler getTransferHandler()
Gets thetransferHandlerproperty.- Returns:
- the value of the
transferHandlerproperty - 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:
updatein classContainer- Parameters:
g- theGraphicscontext in which to paint- See Also:
Component.update(Graphics)
-
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(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 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:
setRootPaneCheckingEnabled(boolean),RootPaneContainer
-
remove
public void remove(Component comp)
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:
Container.add(java.awt.Component),RootPaneContainer
-
setLayout
public void setLayout(LayoutManager manager)
Sets theLayoutManager. Overridden to conditionally forward the call to thecontentPane. Refer toRootPaneContainerfor more information.- Overrides:
setLayoutin classContainer- Parameters:
manager- theLayoutManager- See Also:
setRootPaneCheckingEnabled(boolean),RootPaneContainer
-
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(javax.swing.JRootPane),RootPaneContainer.getRootPane()
-
setRootPane
protected void setRootPane(JRootPane root)
Sets the newrootPaneobject for this window. This method is called by the constructor.- Parameters:
root- the newrootPaneproperty- See Also:
getRootPane()
-
getContentPane
public Container getContentPane()
Returns theContainerwhich is thecontentPanefor this window.- Specified by:
getContentPanein interfaceRootPaneContainer- Returns:
- the
contentPaneproperty - See Also:
setContentPane(java.awt.Container),RootPaneContainer.getContentPane()
-
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:
getContentPane(),RootPaneContainer.setContentPane(java.awt.Container)
-
getLayeredPane
public JLayeredPane getLayeredPane()
Returns thelayeredPaneobject for this window.- Specified by:
getLayeredPanein interfaceRootPaneContainer- Returns:
- the
layeredPaneproperty - See Also:
setLayeredPane(javax.swing.JLayeredPane),RootPaneContainer.getLayeredPane()
-
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:
getLayeredPane(),RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
-
getGlassPane
public Component getGlassPane()
Returns theglassPane Componentfor this window.- Specified by:
getGlassPanein interfaceRootPaneContainer- Returns:
- the
glassPaneproperty - See Also:
setGlassPane(java.awt.Component),RootPaneContainer.getGlassPane()
-
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:
getGlassPane(),RootPaneContainer.setGlassPane(java.awt.Component)
-
getGraphics
@BeanProperty(bound=false) public Graphics 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:
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 withintimemilliseconds. Refer toRepaintManagerfor details on how the repaint is handled.- Overrides:
repaintin classComponent- Parameters:
time- maximum time in milliseconds before updatex- the x coordinatey- the y coordinatewidth- the widthheight- 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:
paramStringin 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:
getAccessibleContextin interfaceAccessible- Overrides:
getAccessibleContextin classWindow- Returns:
- an AccessibleJWindow that serves as the AccessibleContext of this JWindow
-
-