- 所有已实现的接口:
-
ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer
JWindow是一个可以显示在用户桌面任何位置的容器。它没有标题栏、窗口管理按钮或与JFrame相关的其他修饰,但它仍然是用户桌面的“一等公民”,可以存在于任何位置。
JWindow组件包含一个JRootPane作为其唯一子级。 contentPane应该是JWindow的任何子级的父级。 作为一种便利,此类的add、remove和setLayout方法被重写,以便它们委托调用ContentPane的相应方法。 例如,您可以按如下方式向窗口添加子组件:
window.add(child);然后子组件将被添加到contentPane。 contentPane将始终为非
null。 尝试将其设置为null将导致JWindow抛出异常。 默认的contentPane将具有BorderLayout管理器设置在其上。 有关如何向JWindow添加、删除和设置LayoutManager的详细信息,请参阅RootPaneContainer。
请参阅JRootPane文档,了解contentPane、glassPane和layeredPane组件的完整描述。
在多屏幕环境中,您可以在不同的屏幕设备上创建JWindow。 有关更多信息,请参阅Window。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing的线程策略。
警告: 该类的序列化对象将不兼容未来的Swing版本。 当前的序列化支持适用于短期存储或在运行相同版本Swing的应用程序之间的RMI。 从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包。 请参阅XMLEncoder。
- 自:
- 1.2
- 参见:
-
Nested Class Summary
Nested ClassesNested 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 AccessibleContext辅助功能上下文属性。protected JRootPane管理contentPane和可选menuBar的JRootPane实例,以及glassPane。protected boolean如果为true,则对add和setLayout的调用将转发到contentPane。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()创建一个没有指定所有者的窗口。创建一个具有指定所有者框架的窗口。创建一个具有屏幕设备的指定GraphicsConfiguration的窗口。创建一个具有指定所有者窗口的窗口。JWindow(Window owner, GraphicsConfiguration gc) 创建一个具有指定所有者窗口和屏幕设备的指定GraphicsConfiguration的窗口。 -
Method Summary
Modifier and TypeMethodDescriptionprotected void添加指定的子Component。protected JRootPane由构造方法调用以创建默认的rootPane。获取与此JWindow关联的AccessibleContext。返回此窗口的contentPane。返回此窗口的glassPane Component。为此组件创建一个图形上下文。返回此窗口的layeredPane对象。返回此窗口的rootPane对象。获取transferHandler属性。protected boolean返回是否将add和setLayout的调用转发到contentPane。protected String返回此JWindow的字符串表示形式。void从容器中删除指定的组件。voidrepaint(long time, int x, int y, int width, int height) 在time毫秒内重绘此组件的指定矩形。voidsetContentPane(Container contentPane) 设置此窗口的contentPane属性。voidsetGlassPane(Component glassPane) 设置glassPane属性。voidsetLayeredPane(JLayeredPane layeredPane) 设置layeredPane属性。voidsetLayout(LayoutManager manager) 设置LayoutManager。protected voidsetRootPane(JRootPane root) 为此窗口设置新的rootPane对象。protected voidsetRootPaneCheckingEnabled(boolean enabled) 设置是否将add和setLayout的调用转发到contentPane。voidsetTransferHandler(TransferHandler newHandler) 设置transferHandler属性,这是一种支持将数据传输到此组件的机制。void调用paint(g)。protected void由构造方法调用以正确初始化JWindow。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
管理contentPane和可选menuBar的JRootPane实例,以及glassPane。- 参见:
-
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabled如果为true,则对add和setLayout的调用将转发到contentPane。 初始值为false,但在构造JWindow时设置为true。- 参见:
-
accessibleContext
辅助功能上下文属性。
-
-
Constructor Details
-
JWindow
public JWindow()创建一个没有指定所有者的窗口。此窗口将无法获得焦点。此构造函数将组件的区域设置为
JComponent.getDefaultLocale返回的值。- 抛出:
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。 - 参见:
-
JWindow
创建一个具有屏幕设备的指定GraphicsConfiguration的窗口。此窗口将无法获得焦点。此构造函数将组件的区域设置为
JComponent.getDefaultLocale返回的值。- 参数:
-
gc- 用于构造新窗口的GraphicsConfiguration;如果gc为null,则假定系统默认的GraphicsConfiguration - 抛出:
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。 -
IllegalArgumentException- 如果gc不是来自屏幕设备。 - 自:
- 1.3
- 参见:
-
JWindow
创建一个具有指定所有者框架的窗口。如果owner为null,将使用共享所有者,并且此窗口将无法获得焦点。此外,除非其所有者显示在屏幕上,否则此窗口将无法获得焦点。此构造函数将组件的区域设置为
JComponent.getDefaultLocale返回的值。- 参数:
-
owner- 显示窗口的框架 - 抛出:
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。 - 参见:
-
JWindow
创建一个具有指定所有者窗口的窗口。除非其所有者显示在屏幕上,否则此窗口将无法获得焦点。如果owner为null,将使用共享所有者,并且此窗口将无法获得焦点。此构造函数将组件的区域设置为
JComponent.getDefaultLocale返回的值。- 参数:
-
owner- 显示窗口的窗口 - 抛出:
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。 - 参见:
-
JWindow
创建具有指定所有者窗口和屏幕设备的GraphicsConfiguration的窗口。如果owner为null,将使用共享所有者,并且此窗口将不可聚焦。此构造函数将组件的区域设置为
JComponent.getDefaultLocale返回的值。- 参数:
-
owner- 显示窗口的窗口 -
gc- 用于构造新窗口的GraphicsConfiguration;如果gc为null,则假定为系统默认的GraphicsConfiguration,除非owner也为null,在这种情况下,将使用共享所有者框架的GraphicsConfiguration。 - 抛出:
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。 -
IllegalArgumentException- 如果gc不是来自屏幕设备。 - 自从:
- 1.3
- 参见:
-
-
Method Details
-
windowInit
protected void windowInit()由构造函数调用以正确初始化JWindow。 -
createRootPane
由构造方法调用以创建默认的rootPane。- 返回:
-
一个新的
JRootPane
-
isRootPaneCheckingEnabled
protected boolean isRootPaneCheckingEnabled()返回add和setLayout是否转发到contentPane。- 返回:
-
如果
add和setLayout被转发,则为true;否则为false - 参见:
-
setTransferHandler
@BeanProperty(hidden=true, description="Mechanism for transfer of data into the component") public void setTransferHandler(TransferHandler newHandler) 设置transferHandler属性,这是支持将数据传输到此组件的机制。如果组件不支持数据传输操作,请使用null。如果系统属性
suppressSwingDropSupport为false(默认值),并且此组件上的当前放置目标要么为null要么不是用户设置的放置目标,则此方法将按以下方式更改放置目标:如果newHandler为null,它将清除放置目标。如果不为null,它将安装一个新的DropTarget。注意:当与
JWindow一起使用时,TransferHandler仅提供数据导入功能,因为数据导出相关的方法当前是针对JComponent类型的。请参阅如何使用拖放和数据传输,这是The Java Tutorial中的一个部分,获取更多信息。
- 参数:
-
newHandler- 新的TransferHandler - 自从:
- 1.6
- 参见:
-
getTransferHandler
获取transferHandler属性。- 返回:
-
transferHandler属性的值 - 自从:
- 1.6
- 参见:
-
update
调用paint(g)。覆盖此方法以防止不必要的清除背景调用。 -
setRootPaneCheckingEnabled
@BeanProperty(hidden=true, description="Whether the add and setLayout methods are forwarded") protected void setRootPaneCheckingEnabled(boolean enabled) 设置add和setLayout是否转发到contentPane。- 参数:
-
enabled- 如果add和setLayout被转发,则为true;如果应直接在JWindow上操作,则为false。 - 参见:
-
addImpl
添加指定的子Component。覆盖此方法以有条件地转发调用到contentPane。默认情况下,子组件将添加到contentPane而不是框架,请参阅RootPaneContainer获取详细信息。- 覆盖:
-
addImpl在类中Container - 参数:
-
comp- 要增强的组件 -
constraints- 要遵守的约束 -
index- 索引 - 抛出:
-
IllegalArgumentException- 如果index无效 -
IllegalArgumentException- 如果将容器的父级添加到自身 -
IllegalArgumentException- 如果将窗口添加到容器 - 参见:
-
remove
从容器中移除指定的组件。如果comp不是rootPane,则会将此操作转发到contentPane。如果comp不是JWindow或contentPane的子级,则此操作将不执行任何操作。- 覆盖:
-
remove在类中Container - 参数:
-
comp- 要移除的组件 - 抛出:
-
NullPointerException- 如果comp为null - 参见:
-
setLayout
设置LayoutManager。覆盖此方法以有条件地转发调用到contentPane。请参阅RootPaneContainer获取更多信息。 -
getRootPane
@BeanProperty(bound=false, hidden=true, description="the RootPane object for this window.") public JRootPane getRootPane()返回此窗口的rootPane对象。- 指定由:
-
getRootPane在接口RootPaneContainer - 返回:
-
此窗口的
rootPane属性 - 另请参阅:
-
setRootPane
设置此窗口的新rootPane对象。此方法由构造函数调用。- 参数:
-
root- 新的rootPane属性 - 另请参阅:
-
getContentPane
返回此窗口的contentPane的Container。- 指定由:
-
getContentPane在接口RootPaneContainer - 返回:
-
contentPane属性 - 另请参阅:
-
setContentPane
@BeanProperty(bound=false, hidden=true, description="The client area of the window where child components are normally inserted.") public void setContentPane(Container contentPane) 设置此窗口的contentPane属性。此方法由构造函数调用。- 指定由:
-
setContentPane在接口RootPaneContainer - 参数:
-
contentPane- 新的contentPane - 抛出:
-
IllegalComponentStateException- (运行时异常),如果内容窗格参数为null - 另请参阅:
-
getLayeredPane
返回此窗口的layeredPane对象。- 指定由:
-
getLayeredPane在接口RootPaneContainer - 返回:
-
layeredPane属性 - 另请参阅:
-
setLayeredPane
@BeanProperty(bound=false, hidden=true, description="The pane which holds the various window layers.") public void setLayeredPane(JLayeredPane layeredPane) 设置layeredPane属性。此方法由构造函数调用。- 指定由:
-
setLayeredPane在接口RootPaneContainer - 参数:
-
layeredPane- 新的layeredPane对象 - 抛出:
-
IllegalComponentStateException- (运行时异常),如果内容窗格参数为null - 另请参阅:
-
getGlassPane
返回此窗口的glassPane Component。- 指定由:
-
getGlassPane在接口RootPaneContainer - 返回:
-
glassPane属性 - 另请参阅:
-
setGlassPane
@BeanProperty(bound=false, hidden=true, description="A transparent pane used for menu rendering.") public void setGlassPane(Component glassPane) 设置glassPane属性。此方法由构造函数调用。- 指定由:
-
setGlassPane在接口RootPaneContainer - 参数:
-
glassPane- 此窗口的glassPane对象 - 另请参阅:
-
getGraphics
为此组件创建一个图形上下文。如果此组件当前不可显示,则此方法将返回null。- 覆盖:
-
getGraphics在类Component - 返回:
-
此组件的图形上下文,如果没有则返回
null - 自:
- 1.6
- 另请参阅:
-
repaint
public void repaint(long time, int x, int y, int width, int height) 在time毫秒内重新绘制此组件的指定矩形。有关重绘如何处理的详细信息,请参阅RepaintManager。 -
paramString
返回此JWindow的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null。- 覆盖:
-
paramString在类Container - 返回:
-
此
JWindow的字符串表示形式
-
getAccessibleContext
获取与此JWindow关联的AccessibleContext。对于JWindows,AccessibleContext采用AccessibleJWindow的形式。如有必要,将创建一个新的AccessibleJWindow实例。- 指定由:
-
getAccessibleContext在接口Accessible - 覆盖:
-
getAccessibleContext在类Window - 返回:
- 作为此JWindow的AccessibleContext的AccessibleJWindow
-