- 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
AJWindow
是可以在用户桌面上的任意位置显示的容器。 它没有与JFrame
相关联的标题栏,窗口管理按钮或其他修剪,但它仍然是用户桌面的“一流公民”,并且可以存在于任何位置。JWindow
组件包含一个JRootPane
作为其唯一的孩子。contentPane
应该是contentPane
的任何孩子的JWindow
。 为方便起见,在add
,remove
,并setLayout
这个类的方法将被覆盖,所以他们委托给相应方法的调用ContentPane
。 例如,您可以将子组件添加到窗口中,如下所示:window.add(child);
而孩子将被添加到contentPane。contentPane
将永远不是null
。 尝试将其设置为null
将导致JWindow
引发异常。 默认的contentPane
将有一个BorderLayout
管理器。 请参阅RootPaneContainer
的详细信息,添加,删除和设置LayoutManager
一个的JWindow
。请参阅
JRootPane
文档的完整描述contentPane
,glassPane
,并layeredPane
组件。在多屏幕环境中,您可以在不同的屏幕设备上创建一个
JWindow
。 有关详细信息,请参阅Window
。警告: Swing不是线程安全的。 欲了解更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到
java.beans
软件包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
JRootPane
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JWindow.AccessibleJWindow
该类为JWindow
类实现可访问性支持。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
-
Field Summary
Fields Modifier and Type Field 描述 protected AccessibleContext
accessibleContext
可访问的上下文属性。protected JRootPane
rootPane
JRootPane
实例管理contentPane
和可选menuBar
为这个框架,以及glassPane
。protected boolean
rootPaneCheckingEnabled
如果为true,则拨打add
和setLayout
将转发到contentPane
。-
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 描述 JWindow()
创建一个没有指定所有者的窗口。JWindow(Frame owner)
创建具有指定所有者框架的窗口。JWindow(GraphicsConfiguration gc)
使用指定的GraphicsConfiguration
屏幕设备创建一个窗口。JWindow(Window owner)
创建具有指定所有者窗口的窗口。JWindow(Window owner, GraphicsConfiguration gc)
创建具有指定所有者窗口的窗口和GraphicsConfiguration
屏幕设备。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected void
addImpl(Component comp, Object constraints, int index)
添加指定的小孩Component
。protected JRootPane
createRootPane()
由构造函数调用方法创建默认的rootPane
。AccessibleContext
getAccessibleContext()
获取与此JWindow关联的AccessibleContext。Container
getContentPane()
返回Container
,这是该窗口的contentPane
。Component
getGlassPane()
返回此窗口的glassPane Component
。Graphics
getGraphics()
为此组件创建图形上下文。JLayeredPane
getLayeredPane()
返回此窗口的layeredPane
对象。JRootPane
getRootPane()
返回此窗口的rootPane
对象。TransferHandler
getTransferHandler()
获取transferHandler
属性。protected boolean
isRootPaneCheckingEnabled()
返回是否将add
和setLayout
电话转发到contentPane
。protected String
paramString()
返回此JWindow
的字符串表示JWindow
。void
remove(Component comp)
从容器中删除指定的组件。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
update(Graphics g)
电话paint(g)
。protected void
windowInit()
由构造函数调用正确地初始化JWindow
。-
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, 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
-
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.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
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
-
-
-
-
字段详细信息
-
rootPane
protected JRootPane rootPane
JRootPane
实例管理contentPane
和可选menuBar
为这个框架,以及glassPane
。
-
rootPaneCheckingEnabled
protected boolean rootPaneCheckingEnabled
如果是,那么拨打add
和setLayout
电话将被转发到contentPane
。 这最初是假的,但是当构建JWindow
时设置为true。
-
accessibleContext
protected AccessibleContext accessibleContext
可访问的上下文属性。
-
-
构造方法详细信息
-
JWindow
public JWindow()
创建一个没有指定所有者的窗口。 此窗口将无法对焦。此构造函数将组件的locale属性设置为返回的值为
JComponent.getDefaultLocale
。- 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()
返回true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
-
JWindow
public JWindow(GraphicsConfiguration gc)
创建一个具有指定的屏幕设备GraphicsConfiguration
的窗口。 此窗口将无法对焦。此构造函数将组件的locale属性设置为返回的值为
JComponent.getDefaultLocale
。- 参数
-
gc
- 用于构建新窗口的GraphicsConfiguration
; 如果gc为null
,系统默认为GraphicsConfiguration
- 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()
返回true。 -
IllegalArgumentException
- 如果gc
不是来自屏幕设备。 - 从以下版本开始:
- 1.3
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
-
JWindow
public JWindow(Frame owner)
创建具有指定所有者框架的窗口。 如果owner
为null
,则将使用共享所有者,并且此窗口将不可对焦。 此外,除非其所有者显示在屏幕上,否则此窗口将无法对焦。此构造函数将组件的locale属性设置为
JComponent.getDefaultLocale
返回的值。- 参数
-
owner
- 显示窗口的框架 - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
-
JWindow
public JWindow(Window owner)
创建具有指定所有者窗口的窗口。 除非其所有者显示在屏幕上,否则此窗口将不会对焦。 如果owner
为null
,则将使用共享所有者,此窗口将不可对焦。此构造函数将组件的locale属性设置为返回的值为
JComponent.getDefaultLocale
。- 参数
-
owner
- 显示窗口的窗口 - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()
返回true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
-
JWindow
public JWindow(Window owner, GraphicsConfiguration gc)
创建具有指定所有者窗口和屏幕设备GraphicsConfiguration
的窗口。 如果owner
为null
,则将使用共享所有者,并且此窗口将不可对焦。此构造函数将组件的locale属性设置为返回的值为
JComponent.getDefaultLocale
。- 参数
-
owner
- 显示窗口的窗口 -
gc
- 用于构建新窗口的GraphicsConfiguration
; 如果gc为null
,则假定系统默认为GraphicsConfiguration
,除非owner
也为空,在这种情况下,将使用共享拥有者框架中的GraphicsConfiguration
。 - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()
返回true。 -
IllegalArgumentException
- 如果gc
不是从屏幕设备。 - 从以下版本开始:
- 1.3
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,Window.isFocusableWindow()
,JComponent.getDefaultLocale()
-
-
方法详细信息
-
windowInit
protected void windowInit()
由构造函数调用正确地初始化JWindow
。
-
createRootPane
protected JRootPane createRootPane()
由构造函数调用方法创建默认的rootPane
。- 结果
-
一个新的
JRootPane
-
isRootPaneCheckingEnabled
protected boolean isRootPaneCheckingEnabled()
返回是否将add
和setLayout
电话转发到contentPane
。- 结果
-
如果转发
add
和add
,setLayout
true; 否则为假 - 另请参见:
-
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)
设置transferHandler
属性,这是一种支持将数据传输到此组件中的机制。 如果组件不支持数据传输操作,请使用null
。如果系统属性
suppressSwingDropSupport
为false
(默认值),并且此组件上的当前放置目标是null
或不是用户设置的放置目标,则此方法将更改下拉目标,如下所示:如果newHandler
为null
,它将清除掉目标。 如果不是null
它会安装一个新的DropTarget
。注意:与
JWindow
TransferHandler
使用时,TransferHandler
只提供数据导入功能,因为数据导出相关方法当前键入为JComponent
。有关详细信息,请参阅“Java教程”中的“ How to Use Drag and Drop and Data Transfer ”一节。
- 参数
-
newHandler
- 全新TransferHandler
- 从以下版本开始:
- 1.6
- 另请参见:
-
TransferHandler
,getTransferHandler()
,Component.setDropTarget(java.awt.dnd.DropTarget)
-
getTransferHandler
public TransferHandler getTransferHandler()
获取transferHandler
属性。- 结果
-
该值为
transferHandler
属性 - 从以下版本开始:
- 1.6
- 另请参见:
-
TransferHandler
,setTransferHandler(javax.swing.TransferHandler)
-
update
public void update(Graphics g)
致电paint(g)
。 该方法被覆盖,以防止不必要的调用来清除背景。- 重写:
-
update
在Container
- 参数
-
g
- 要绘画的Graphics
上下文 - 另请参见:
-
Component.update(Graphics)
-
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
上操作,JWindow
。 - 另请参见:
-
addImpl(java.awt.Component, java.lang.Object, int)
,setLayout(java.awt.LayoutManager)
,isRootPaneCheckingEnabled()
,RootPaneContainer
-
addImpl
protected void addImpl(Component comp, Object constraints, int index)
添加指定的小孩Component
。 该方法被覆盖以有条件地将呼叫转发到contentPane
。 默认情况下,小孩将添加到contentPane
而不是框架,详情请参阅RootPaneContainer
。- 重写:
-
addImpl
在Container
- 参数
-
comp
- 要增强的组件 -
constraints
- 要遵守的限制 -
index
- 索引 - 异常
-
IllegalArgumentException
- 如果index
无效 -
IllegalArgumentException
- 如果将容器的父项添加到自身 -
IllegalArgumentException
- 如果向容器添加窗口 - 另请参见:
-
setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
-
remove
public void remove(Component comp)
从容器中删除指定的组件。 如果comp
不是rootPane
,这将转发给contentPane
。 如果comp
不是JWindow
或contentPane
的孩子,这将不会做任何contentPane
。- 重写:
-
remove
在Container
- 参数
-
comp
- 要删除的组件 - 异常
-
NullPointerException
- 如果comp
为空 - 另请参见:
-
Container.add(java.awt.Component)
,RootPaneContainer
-
setLayout
public void setLayout(LayoutManager manager)
- 重写:
-
setLayout
在Container
- 参数
-
manager
-LayoutManager
- 另请参见:
-
setRootPaneCheckingEnabled(boolean)
,RootPaneContainer
-
getRootPane
@BeanProperty(bound=false, hidden=true, description="the RootPane object for this window.") public JRootPane getRootPane()
返回此窗口的rootPane
对象。- Specified by:
-
getRootPane
在接口RootPaneContainer
- 结果
-
该窗口的
rootPane
属性 - 另请参见:
-
setRootPane(javax.swing.JRootPane)
,RootPaneContainer.getRootPane()
-
setRootPane
protected void setRootPane(JRootPane root)
为此窗口设置新的rootPane
对象。 该方法由构造函数调用。- 参数
-
root
- 新的rootPane
属性 - 另请参见:
-
getRootPane()
-
getContentPane
public Container getContentPane()
返回Container
,这是该窗口的contentPane
。- Specified by:
-
getContentPane
在接口RootPaneContainer
- 结果
-
contentPane
属性 - 另请参见:
-
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)
设置此窗口的contentPane
属性。 该方法由构造函数调用。- Specified by:
-
setContentPane
在接口RootPaneContainer
- 参数
-
contentPane
- 新的contentPane
- 异常
-
IllegalComponentStateException
- (运行时异常)如果内容窗格参数是null
- 另请参见:
-
getContentPane()
,RootPaneContainer.setContentPane(java.awt.Container)
-
getLayeredPane
public JLayeredPane getLayeredPane()
返回此窗口的layeredPane
对象。- Specified by:
-
getLayeredPane
在接口RootPaneContainer
- 结果
-
layeredPane
属性 - 另请参见:
-
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)
设置layeredPane
属性。 该方法由构造函数调用。- Specified by:
-
setLayeredPane
在接口RootPaneContainer
- 参数
-
layeredPane
- 新的layeredPane
对象 - 异常
-
IllegalComponentStateException
- (运行时异常)如果内容窗格参数是null
- 另请参见:
-
getLayeredPane()
,RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
-
getGlassPane
public Component getGlassPane()
返回此窗口的glassPane Component
。- Specified by:
-
getGlassPane
在接口RootPaneContainer
- 结果
-
glassPane
属性 - 另请参见:
-
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)
设置glassPane
属性。 该方法由构造函数调用。- Specified by:
-
setGlassPane
在接口RootPaneContainer
- 参数
-
glassPane
- 该窗口的glassPane
对象 - 另请参见:
-
getGlassPane()
,RootPaneContainer.setGlassPane(java.awt.Component)
-
getGraphics
@BeanProperty(bound=false) public Graphics getGraphics()
为此组件创建图形上下文。 如果此组件当前不可显示,此方法将返回null
。- 重写:
-
getGraphics
在Component
- 结果
-
该组件的图形上下文,如果没有,
null
- 从以下版本开始:
- 1.6
- 另请参见:
-
Component.paint(java.awt.Graphics)
-
repaint
public void repaint(long time, int x, int y, int width, int height)
在time
毫秒内重新绘制该组件的指定矩形。 有关如何处理重绘的详细信息,请参阅RepaintManager
。- 重写:
-
repaint
在Component
- 参数
-
time
- 更新前的最大时间(以毫秒为单位) -
x
- x坐标 -
y
- y坐标 -
width
- 宽度 -
height
- 高度 - 从以下版本开始:
- 1.6
- 另请参见:
-
RepaintManager
-
paramString
protected String paramString()
返回此JWindow
的字符串表示JWindow
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在Container
- 结果
-
这个
JWindow
的字符串表示JWindow
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此JWindow关联的AccessibleContext。 对于JWindows,AccessibleContext采用AccessibleJWindow的形式。 如有必要,将创建一个新的AccessibleJWindow实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Window
- 结果
- an AccessibleJWindow that serves as the AccessibleContext of this JWindow
-
-