java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Dialog
public class Dialog
Dialog 是一个带标题和边界的顶层窗口,边界一般用于从用户处获得某种形式的输入。Dialog 的大小包括边界所指定的任何区域。边界区的维度可以使用 getInsets
方法获得,但是,由于这些维度是依赖于平台的,因此只有通过调用 pack
或 show
将 dialog 设置为可显示的,才能获得有效的 insets 值。由于 dialog 的总大小包括了边界区,因此边界有效地模糊了 dialog 的部分区域,约束了可用于在矩形中呈现或显示子部件的区域,矩形左上角的位置为 (insets.left, insets.top)
,宽度为 width - (insets.left + insets.right)
,长度为 height - (insets.top + insets.bottom)
。
Dialog 的默认布局为 BorderLayout
。
Dialog 可以使用 setUndecorated
关闭本机装饰(例如 Frame & Titlebar)。只有在 dialog 不是 displayable
时才能完成此操作。
在构造 dialog 时,dialog 可以拥有另一个窗口作为它自己的窗口。当可见的 dialog 的所有者窗口被最小化时,dialog 会自动隐藏为对用户不可见。当所有者窗口被还原时,dialog 重新又变为用户可见的。
在多屏幕环境中,可以在不同于其所有者的屏幕设备上创建 Dialog
。有关更多信息,请参阅 Frame
。
dialog 可以是无模式的(默认情况下)或有模式的。有模式的 dialog 会阻止将内容输入到应用程序中的其他一些顶层窗口中(将此 dialog 创建为其所有者的所有窗口除外)。有关细节,请参阅 AWT Modality 规范。
Dialog 能够产生以下 WindowEvents
:WindowOpened
、WindowClosing
、WindowClosed
、WindowActivated
、WindowDeactivated
、WindowGainedFocus
、WindowLostFocus
。
WindowEvent
,
Window.addWindowListener(java.awt.event.WindowListener)
,
序列化表格
嵌套类摘要 | |
---|---|
protected class |
Dialog.AccessibleAWTDialog 此类实现对 Dialog 类的可访问性支持。 |
static class |
Dialog.ModalExclusionType 任何顶层窗口都可以标记为不受模式对话框阻塞。 |
static class |
Dialog.ModalityType 模式对话框阻塞对某些顶层窗口的所有输入。 |
从类 java.awt.Window 继承的嵌套类/接口 |
---|
Window.AccessibleAWTWindow |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
static Dialog.ModalityType |
DEFAULT_MODALITY_TYPE 有模式 dialog 的默认模式类型。 |
从类 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 |
构造方法摘要 | |
---|---|
Dialog(Dialog owner) 构造一个最初不可见的、无模式的 Dialog ,它带有指定所有者 Dialog 和一个空标题。 |
|
Dialog(Dialog owner, String title) 构造一个最初不可见的、无模式的 Dialog ,它带有指定的所有者 Dialog 和标题。 |
|
Dialog(Dialog owner, String title, boolean modal) 构造一个最初不可见的 Dialog ,它带有指定的所有者 Dialog 、标题和模式。 |
|
Dialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) 构造一个最初不可见的 Dialog ,它带有指定的所有者 Dialog 、标题、模式和 GraphicsConfiguration 。 |
|
Dialog(Frame owner) 构造一个最初不可见的、无模式的 Dialog ,它带有指定所有者 Frame 和一个空标题。 |
|
Dialog(Frame owner, boolean modal) 构造一个最初不可见的 Dialog ,它带有指定所有者 Frame 、模式和一个空标题。 |
|
Dialog(Frame owner, String title) 构造一个最初不可见的、无模式的 Dialog ,它带有指定的所有者 Frame 和标题。 |
|
Dialog(Frame owner, String title, boolean modal) 构造一个最初不可见的 Dialog ,它带有指定的所有者 Frame 、标题和模式。 |
|
Dialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc) 构造一个最初不可见的 Dialog ,它带有指定的所有者 Frame 、标题、模式和 GraphicsConfiguration 。 |
|
Dialog(Window owner) 构造一个最初不可见的、无模式的 Dialog ,它带有指定所有者 Window 和一个空标题。 |
|
Dialog(Window owner, Dialog.ModalityType modalityType) 构造一个最初不可见的 Dialog ,它带有指定所有者 Window 、模式和一个空标题。 |
|
Dialog(Window owner, String title) 构造一个最初不可见的、无模式的 Dialog ,它带有指定的所有者 Window 和标题。 |
|
Dialog(Window owner, String title, Dialog.ModalityType modalityType) 构造一个最初不可见的 Dialog ,它带有指定的所有者 Window 、标题和模式。 |
|
Dialog(Window owner, String title, Dialog.ModalityType modalityType, GraphicsConfiguration gc) 构造一个最初不可见的 Dialog ,它带有指定的所有者 Window 、标题、模式和 GraphicsConfiguration 。 |
方法摘要 | |
---|---|
void |
addNotify() 通过将此 Dialog 连接到本机屏幕资源,从而使其成为可显示的。 |
AccessibleContext |
getAccessibleContext() 获取与此 Dialog 有关的 AccessibleContext。 |
Dialog.ModalityType |
getModalityType() 返回此 dialog 的模式类型。 |
String |
getTitle() 获取 dialog 的标题。 |
void |
hide() 已过时。 从 JDK 版本 1.5 开始,由 setVisible(boolean) 取代。 |
boolean |
isModal() 指出 dialog 是否为有模式的。 |
boolean |
isResizable() 指出此 dialog 是否可以由用户调整大小。 |
boolean |
isUndecorated() 指出此 dialog 是否未装饰。 |
protected String |
paramString() 返回表示此 dialog 状态的字符串。 |
void |
setModal(boolean modal) 指定此 dialog 是否应该是有模式的。 |
void |
setModalityType(Dialog.ModalityType type) 设置此 dialog 的模式类型。 |
void |
setResizable(boolean resizable) 设置此 dialog 是否可以由用户调整大小。 |
void |
setTitle(String title) 设置 Dialog 的标题。 |
void |
setUndecorated(boolean undecorated) 禁用或启用此 dialog 的装饰。 |
void |
setVisible(boolean b) 根据参数 b 的值显示或隐藏此 Dialog 。 |
void |
show() 已过时。 从 JDK 版本 1.5 开始,由 setVisible(boolean) 取代。 |
void |
toBack() 如果此窗口是可视的,则将此窗口置于后方,如果它是焦点窗口或活动窗口,则会导致丢失焦点或活动状态。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final Dialog.ModalityType DEFAULT_MODALITY_TYPE
APPLICATION_MODAL
。调用旧式
setModal(true)
等效于调用
setModalityType(DEFAULT_MODALITY_TYPE)
。
Dialog.ModalityType
,
setModal(boolean)
构造方法详细信息 |
---|
public Dialog(Frame owner)
Dialog
,它带有指定所有者
Frame
和一个空标题。
owner
- dialog 的所有者,如果此 dialog 没有所有者,则该参数为
null
IllegalArgumentException
- 如果
owner
的
GraphicsConfiguration
不是来自某一屏幕设备
HeadlessException
- 当
GraphicsEnvironment.isHeadless()
返回
true
时
GraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
public Dialog(Frame owner, boolean modal)
Dialog
,它带有指定所有者
Frame
、模式和一个空标题。
owner
- dialog 的所有者,如果此 dialog 没有所有者,则该参数为
null
modal
- 指定在显示的时候是否阻止用户将内容输入到其他顶级窗口中。如果该参数为
false
,则 dialog 是
MODELESS
;如果该参数为
true
,则模式类型属性被设置为
DEFAULT_MODALITY_TYPE
IllegalArgumentException
- 如果
owner
的
GraphicsConfiguration
不是来自某一屏幕设备
HeadlessException
- 当
GraphicsEnvironment.isHeadless()
返回
true
时
Dialog.ModalityType
,
Dialog.ModalityType.MODELESS
,
DEFAULT_MODALITY_TYPE
,
setModal(boolean)
,
setModalityType(java.awt.Dialog.ModalityType)
,
GraphicsEnvironment.isHeadless()
public Dialog(Frame owner, String title)
Dialog
,它带有指定的所有者
Frame
和标题。
owner
- dialog 的所有者,如果此 dialog 没有所有者,则该参数为
null
title
- dialog 的标题,如果此 dialog 没有标题,则该参数为
null
IllegalArgumentException
- 如果
owner
的
GraphicsConfiguration
不是来自某一屏幕设备
HeadlessException
- 当
GraphicsEnvironment.isHeadless()
返回
true
时
GraphicsEnvironment.isHeadless()
,
Component.setSize(int, int)
,
Component.setVisible(boolean)
public Dialog(Frame owner, String title, boolean modal)
Dialog
,它带有指定的所有者
Frame
、标题和模式。
owner
- dialog 的所有者,如果此 dialog 没有所有者,则该参数为
null
title
- dialog 的标题,如果此 dialog 没有标题,则该参数为
null
modal
- 指定在显示的时候是否阻止用户将内容输入到其他顶级窗口中。如果该参数为
false
,则 dialog 是
MODELESS
;如果该参数为
t