- 所有已实现的接口:
-
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 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
Modifier 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_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionJWindow()
创建一个没有指定所有者的窗口。创建一个具有指定所有者框架的窗口。创建一个具有屏幕设备的指定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
从容器中删除指定的组件。void
repaint
(long time, int x, int y, int width, int height) 在time
毫秒内重绘此组件的指定矩形。void
setContentPane
(Container contentPane) 设置此窗口的contentPane
属性。void
setGlassPane
(Component glassPane) 设置glassPane
属性。void
setLayeredPane
(JLayeredPane layeredPane) 设置layeredPane
属性。void
setLayout
(LayoutManager manager) 设置LayoutManager
。protected void
setRootPane
(JRootPane root) 为此窗口设置新的rootPane
对象。protected void
setRootPaneCheckingEnabled
(boolean enabled) 设置是否将add
和setLayout
的调用转发到contentPane
。void
setTransferHandler
(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, 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 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
-