- 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 classJWindow.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 AccessibleContextaccessibleContext可访问的上下文属性。protected JRootPanerootPaneJRootPane实例管理contentPane和可选menuBar为这个框架,以及glassPane。protected booleanrootPaneCheckingEnabled如果为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 voidaddImpl(Component comp, Object constraints, int index)添加指定的小孩Component。protected JRootPanecreateRootPane()由构造函数调用方法创建默认的rootPane。AccessibleContextgetAccessibleContext()获取与此JWindow关联的AccessibleContext。ContainergetContentPane()返回Container,这是该窗口的contentPane。ComponentgetGlassPane()返回此窗口的glassPane Component。GraphicsgetGraphics()为此组件创建图形上下文。JLayeredPanegetLayeredPane()返回此窗口的layeredPane对象。JRootPanegetRootPane()返回此窗口的rootPane对象。TransferHandlergetTransferHandler()获取transferHandler属性。protected booleanisRootPaneCheckingEnabled()返回是否将add和setLayout电话转发到contentPane。protected StringparamString()返回此JWindow的字符串表示JWindow。voidremove(Component comp)从容器中删除指定的组件。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属性,这是一种支持将数据传输到此组件的机制。voidupdate(Graphics g)电话paint(g)。protected voidwindowInit()由构造函数调用正确地初始化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,setLayouttrue; 否则为假 - 另请参见:
-
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。注意:与
JWindowTransferHandler使用时,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
-
-