java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
javax.swing.JWindow
public class JWindow
JWindow 是一个容器,可以显示在用户桌面上的任何位置。它没有标题栏、窗口管理按钮或者其他与 JFrame 关联的修饰,但它仍然是用户桌面的“一类居民”,可以存在于桌面上的任何位置。
JWindow 组件包含一个 JRootPane 作为其仅有的子组件。contentPane 应为 JWindow 的所有子窗口的父窗口。作为一个便捷的 add 及其变体,remove 和 setLayout 已被重写并根据需要转发到 contentPane。这意味着您可以写入:
window.add(child);
该子窗口也被添加到 contentPane。
contentPane 将始终为非
null。尝试将其设置为
null 将导致
JWindow 抛出异常。默认的
contentPane 将在其上设置
BorderLayout 管理器。有关添加、删除和设置
JWindow 的
LayoutManager 的详细信息,请参阅
RootPaneContainer。
有关 contentPane、glassPane 和 layeredPane 组件的完整描述,请参阅 JRootPane 文档。
在多屏幕环境中,可以在不同的屏幕设备上创建 JWindow。请参阅 Window 以获取更多信息。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder。
JRootPane
| 嵌套类摘要 | |
|---|---|
protected class |
JWindow.AccessibleJWindow 此类实现对 JWindow 类的可访问性支持。 |
| 从类 java.awt.Window 继承的嵌套类/接口 |
|---|
Window.AccessibleAWTWindow |
| 从类 java.awt.Container 继承的嵌套类/接口 |
|---|
Container.AccessibleAWTContainer |
| 从类 java.awt.Component 继承的嵌套类/接口 |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| 字段摘要 | |
|---|---|
protected AccessibleContext |
accessibleContext 可访问的上下文属性。 |
protected JRootPane |
rootPane 管理此框架的 contentPane 和可选 menuBar 以及 glassPane 的 JRootPane 实例。 |
protected boolean |
rootPaneCheckingEnabled 如果为 true,则对 add 和 setLayout 的调用将转发到 contentPane。 |
| 从类 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 |
| 构造方法摘要 | |
|---|---|
JWindow() 创建未指定所有者的窗口。 |
|
JWindow(Frame owner) 使用指定的所有者框架创建窗口。 |
|
JWindow(GraphicsConfiguration gc) 使用屏幕设备的指定 GraphicsConfiguration 创建窗口。 |
|
JWindow(Window owner) 使用指定的所有者窗口创建窗口。 |
|
JWindow(Window owner, GraphicsConfiguration gc) 使用屏幕设备的指定所有者窗口和 GraphicsConfiguration 创建窗口。 |
|
| 方法摘要 | |
|---|---|
protected void |
addImpl(Component comp, Object constraints, int index) 添加指定的子 Component。 |
protected JRootPane |
createRootPane() 由该构造方法调用以创建默认的 rootPane。 |
AccessibleContext |
getAccessibleContext() 获取与此 JWindow 关联的 AccessibleContext。 |
Container |
getContentPane() 返回作为此窗口的 contentPane 的 Container。 |
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 的字符串表示形式。 |
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。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 字段详细信息 |
|---|
protected JRootPane rootPane
contentPane 和可选
menuBar 以及
glassPane 的
JRootPane 实例。
protected boolean rootPaneCheckingEnabled
add 和
setLayout 的调用将转发到
contentPane。其最初设置为 false,但在构造
JWindow 时将被设置为 true。
protected AccessibleContext accessibleContext
| 构造方法详细信息 |
|---|
public JWindow()
此构造方法将组件的区域属性设置为 JComponent.getDefaultLocale 返回的值。
HeadlessException - 如果
GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless(),
Window.isFocusableWindow(),
JComponent.getDefaultLocale()
public JWindow(GraphicsConfiguration gc)
GraphicsConfiguration 创建窗口。此窗口不可获得焦点。
此构造方法将组件的区域属性设置为 JComponent.getDefaultLocale 返回的值。
gc - 用以构造新窗口的
GraphicsConfiguration;如果 gc 为
null,则假定系统默认的
GraphicsConfiguration
HeadlessException - 如果
GraphicsEnvironment.isHeadless() 返回 true。
IllegalArgumentException - 如果
gc 不是来自屏幕设备。
GraphicsEnvironment.isHeadless(),
Window.isFocusableWindow(),
JComponent.getDefaultLocale()
public JWindow(Frame owner)
owner 为
null,则使用共享所有者,而且此窗口不可获得焦点。而且,只有其所有者正显示在屏幕上时此窗口才可获得焦点。
此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 返回的值。
owner - 从中显示该窗口的框架
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless(),
Window.isFocusableWindow(),
JComponent.getDefaultLocale()
public JWindow(Window owner)
owner 为
null,则使用共享所有者,而且此窗口不可获得焦点。
此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 返回的值。
owner - 从中显示该窗口的窗口
HeadlessException - 如果
GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless(),
Window.isFocusableWindow(),
JComponent.getDefaultLocale()
public JWindow(Window owner, GraphicsConfiguration gc)
GraphicsConfiguration 创建窗口。如果
owner 为
null,则使用共享所有者,而且此窗口不可获得焦点。
此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 返回的值。
owner - 从中显示该窗口的窗口
gc - 用以构造新窗口的
GraphicsConfiguration;如果 gc 为
null,则假定系统默认的
GraphicsConfiguration,除非
owner 也为 null,在此情况下将使用来自共享所有者框架的
GraphicsConfiguration。
HeadlessException - 如果
GraphicsEnvironment.isHeadless() 返回 true。
IllegalArgumentException - 如果
gc 不是来自屏幕设备。
GraphicsEnvironment.isHeadless(),
Window.isFocusableWindow(),
JComponent.getDefaultLocale()
| 方法详细信息 |
|---|
protected void windowInit()
JWindow。