java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 java.awt.Window
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible
直接已知子类:
BasicToolBarUI.DragWindow, Dialog, Frame, JWindow

public class Window
     
extends Container
implements Accessible

Window 对象是一个没有边界和菜单栏的顶层窗口。窗口的默认布局是 BorderLayout

构造窗口时,它必须拥有窗体、对话框或其他作为其所有者定义的窗口。

在多屏幕环境中,通过使用 Window(Window, GraphicsConfiguration) 构造 Window,可以在不同的屏幕设备上创建 WindowGraphicsConfiguration 对象是目标屏幕设备的 GraphicsConfiguration 对象之一。

在虚拟设备多屏幕环境中(其中桌面区域可以跨越多物理屏幕设备),所有配置的边界都是相对于虚拟设备坐标系的。虚拟坐标系的原点位于主物理屏幕的左上角。是否使用负坐标取决于主物理屏幕在虚拟设备中的位置,如下图所示。

图表显示的虚拟设备包含 4 个物理屏幕。主物理屏幕显示坐标 (0,0),其他屏幕显示 (-80,-100)。

在此环境中,调用 setLocation 时,必须传递一个虚拟坐标到此方法中。类似地,对 Frame 调用 getLocationOnScreen 将返回虚拟设备坐标。调用 GraphicsConfigurationgetBounds 方法,以查找它在虚拟坐标系中的原点。

以下代码将 Window 的位置设置在 (10, 10)(相对于相应 GraphicsConfiguration 物理屏幕的原点)。如果不考虑 GraphicsConfiguration 的边界,则 Window 位置应设置在 (10, 10)(相对于虚拟坐标系),并显示在主物理屏幕上,该屏幕可能不同于指定 GraphicsConfiguration 的物理屏幕。

        Window w = new Window(Window owner, GraphicsConfiguration gc);
        Rectangle bounds = gc.getBounds();
        w.setLocation(10 + bounds.x, 10 + bounds.y);
 

注:顶层窗口(包括 WindowFrameDialog)的位置和大小受桌面窗口管理系统的控制。对 setLocationsetSizesetBounds 的调用是转发到窗口管理系统的请求(不是指令)。将尽所有努力响应这样的请求。但是,在某些情况下,窗口管理系统可以忽略这样的请求,或修改请求的几何结构,以放置和调整 Window 的大小,使之更好地与桌面设置匹配。

由于本机事件处理的异步特性,在处理完最后一个请求前,getBoundsgetLocationgetLocationOnScreengetSize 返回的结果可能不反映屏幕上窗口的实际几何结构。在处理后续请求的过程中,窗口管理系统满足这些请求时,这些值可能会相应地改变。

应用程序可以随意设置不可见 Window 的大小和位置,但是当 Window 可见时,窗口管理系统可以随后更改它的大小和/或位置。将生成一个或多个 ComponentEvent 来表示新的几何结构。

窗口能够生成以下 WindowEvents:WindowOpened、WindowClosed、indowGainedFocus、indowLostFocus。

从以下版本开始:
JDK1.0
另请参见:
WindowEvent, addWindowListener(java.awt.event.WindowListener), BorderLayout, 序列化表格

嵌套类摘要
protected  class Window.AccessibleAWTWindow
          此类实现对 Window 类的可访问性支持。
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
Window(Frame owner)
          构造一个新的、最初不可见的窗口,使用指定的 Frame 作为其所有者。
Window(Window owner)
          构造一个新的、最初不可见的窗口,使用指定 Window 作为其所有者。
Window(Window owner, GraphicsConfiguration gc)
          构造一个新的、最初不可见的窗口,使用指定的所有者 Window 和屏幕设备的 GraphicsConfiguration
 
方法摘要
 void addNotify()
          通过创建到本机屏幕资源的连接,使此窗口变得可显示。
 void addPropertyChangeListener(PropertyChangeListener listener)
          将 PropertyChangeListener 添加到侦听器列表。
 void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
          将 PropertyChangeListener 添加到某个特定属性的侦听器列表。
 void addWindowFocusListener(WindowFocusListener l)
          添加指定的窗口焦点侦听器,以从此窗口接收窗口事件。
 void addWindowListener(WindowListener l)
          添加指定的窗口侦听器,以从此窗口接收窗口事件。
 void addWindowStateListener(WindowStateListener l)
          添加指定的窗口状态侦听器,以从此窗口接收窗口事件。
 void applyResourceBundle(ResourceBundle rb)
          已过时。 从 J2SE 1.4 开始,由 Component.applyComponentOrientation 取代。
 void applyResourceBundle(String rbName)
          已过时。 从 J2SE 1.4 开始,由 Component.applyComponentOrientation 取代。
 void createBufferStrategy(int numBuffers)
          为此组件上的多缓冲创建一个新策略。
 void createBufferStrategy(int numBuffers, BufferCapabilities caps)
          根据所需缓冲区能力为此组件上的多缓冲创建新策略。
 void dispose()
          释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。
 AccessibleContext getAccessibleContext()
          获取与此窗口关联的 AccessibleContext。
 BufferStrategy getBufferStrategy()
          返回此组件使用的 BufferStrategy
 boolean getFocusableWindowState()
          返回如果此窗口满足 isFocusableWindow 中列出的其他要求,其是否可以成为焦点窗口。
 Container getFocusCycleRootAncestor()
          始终返回 null,因为窗口没有祖先;它们表示组件层次结构的顶层。
 Component getFocusOwner()
          如果此窗口为焦点窗口,则返回是焦点窗口的子组件;否则返回 null。
 Set<AWTKeyStroke> getFocusTraversalKeys(int id)
          获取此窗口的焦点遍历键。
 GraphicsConfiguration getGraphicsConfiguration()
          此方法返回由此窗口使用的 GraphicsConfiguration。
 List<Image> getIconImages()
          返回要作为此窗口的图标显示的图像序列。
 InputContext getInputContext()
          获取此窗口的输入上下文。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回当前在此 Window 上注册为 FooListener 的所有对象所组成的数组。
 Locale getLocale()
          如果设置了区域,则获取与此窗口关联的 Locale 对象。
 Dialog.ModalExclusionType getModalExclusionType()
          返回此窗口的模式排斥类型。
 Component getMostRecentFocusOwner()
          返回此窗口的子组件,该子组件在此窗口为焦点窗口时将接收焦点。
 Window[] getOwnedWindows()
          返回包含此窗口当前拥有的所有窗口的数组。
 Window getOwner()
          返回此窗口的所有者。
static Window[] getOwnerlessWindows()
          返回一个数组,该数组由此应用程序创建的所有没有所有者的 Window 组成。
 Toolkit getToolkit()
          返回此窗体的工具包。
 String getWarningString()
          获取此窗口中显示的警告字符串。
 WindowFocusListener[] getWindowFocusListeners()
          返回在此窗口注册的所有窗口焦点侦听器所组成的数组。
 WindowListener[] getWindowListeners()
          返回在此窗口注册的所有窗口侦听器所组成的数组。
static Window[] getWindows()
          返回一个数组,该数组由此应用程序创建的所有 Window(包括被拥有的和不被拥有的)组成。
 WindowStateListener[] getWindowStateListeners()
          返回在此窗口注册的所有窗口状态侦听器所组成的数组。
 void hide()
          已过时。 从 JDK 1.5 版开始,由 Component.setVisible(boolean) 取代。
 boolean isActive()
          返回此窗口是否为活动窗口。
 boolean isAlwaysOnTop()
          返回此窗口是否为 always-on-top 窗口。
 boolean isAlwaysOnTopSupported()
          返回此窗口是否支持 always-on-top 模式。
 boolean isFocusableWindow()
          返回此窗口是否可以成为焦点窗口,也就是说,此窗口或其任何子组件是否可以成为焦点所有者。
 boolean isFocusCycleRoot()
          始终返回 true,因为所有窗口必须是焦点遍历循环的根。
 boolean isFocused()
          返回此窗口是否为焦点窗口。
 boolean isLocationByPlatform()
          如果此窗口下次可见时,出现在本机窗口操作系统的默认位置,则返回 true
 boolean isShowing()
          检查此窗口是否显示在屏幕上。
 void pack()
          调整此窗口的大小,以适合其子组件的首选大小和布局。
 boolean postEvent(Event e)
          已过时。 从 JDK version 1.1 开始,由 dispatchEvent(AWTEvent) 取代。
protected  void processEvent(AWTEvent e)
          处理此窗口上的事件。
protected  void processWindowEvent(WindowEvent e)
          处理此窗口上发生的窗口事件:将它们指派到任何注册的 WindowListener 对象。
protected  void processWindowFocusEvent(WindowEvent e)
          处理此窗口上发生的窗口焦点事件:将它们指派到任何注册的 WindowFocusListener 对象。
protected  void processWindowStateEvent(WindowEvent e)
          处理此窗口上发生的窗口状态事件:将它们指派到任何注册的 WindowStateListener 对象。
 void removeNotify()
          通过移除此 Container 到其本机屏幕资源的连接,使其不可显示。
 void removeWindowFocusListener(WindowFocusListener l)
          移除指定的窗口焦点侦听器,以便不再从此窗口接收窗口事件。
 void removeWindowListener(WindowListener l)
          移除指定的窗口侦听器,以便不再从此窗口接收窗口事件。
 void removeWindowStateListener(WindowStateListener l)
          移除指定的窗口状态侦听器,以便不再从此窗口接收窗口事件。
 void reshape(int x, int y, int width, int height)
          已过时。 从 JDK 1.1 版开始,由 setBounds(int, int, int, int) 取代。
 void setAlwaysOnTop(boolean alwaysOnTop)
          设置此窗口是否应该始终位于其他窗口上方。
 void setBounds(int x, int y, int width, int height)
          移动组件并调整其大小。
 void setBounds(Rectangle r)
          移动组件并调整其大小,使其符合新的有界矩形 r
 void setCursor(Cursor cursor)
          设置指定光标的光标图像。
 void setFocusableWindowState(boolean focusableWindowState)
          设置如果此窗口满足 isFocusableWindow 中列出的其他要求,其是否可以成为焦点窗口。
 void setFocusCycleRoot(boolean focusCycleRoot)
          不执行任何操作,因为窗口必须始终是焦点遍历循环的根。
 void setIconImage(Image image)
          设置要作为此窗口图标显示的图像。
 void setIconImages(List<? extends Image> icons)
          设置要作为此窗口的图标显示的图像序列。
 void setLocationByPlatform(boolean locationByPlatform)
          设置窗口下次可见时应该出现的位置:本机窗口系统的默认位置,还是当前位置(由 getLocation 返回)。
 void setLocationRelativeTo(Component c)
          设置窗口相对于指定组件的位置。
 void setMinimumSize(Dimension minimumSize)
          将此窗口的最小大小设置为一个常量值。
 void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
          指定此窗口的模式排斥类型。
 void setSize(Dimension d)
          调整组件的大小,使其宽度为 d.width,高度为 d.height
 void setSize(int width, int height)
          调整组件的大小,使其宽度为 width,高度为 height
 void setVisible(boolean b)
          根据参数 b 的值显示或隐藏此 Window
 void show()
          已过时。 从 JDK 1.5 版开始,由 Component.setVisible(boolean) 取代。
 void toBack()
          如果此窗口是可视的,则将此窗口置于后方,如果它是焦点窗口或活动窗口,则会导致丢失焦点或活动状态。
 void toFront()
          如果此窗口是可见的,则将此窗口置于前端,并可以将其设为焦点 Window。
 
从类 java.awt.Container 继承的方法
add, add, add, add, add, addContainerListener, addImpl, 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, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
从类 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove,

JDK 1.6 中文手册