java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
public class JDialog
创建对话框窗口的主要类。可以使用此类创建自定义的对话框,或者调用 JOptionPane
中的多个类方法来创建各种标准对话框。有关创建对话框的信息,请参阅 The Java Tutorial 中的 How to Make Dialogs 一节。
JDialog
组件包含一个 JRootPane
作为其唯一子组件。contentPane
应该是所有 JDialog
子组件的父级。为了方便使用 add
及其变体,已经重写了 remove
和 setLayout
,以在必要时将其转发到 contentPane
。这意味着可以编写:
dialog.add(child);将子级添加到 contentPane。
contentPane
始终是非
null
的。试图将其设置为
null
会生成异常。默认的
contentPane
有一个
BorderLayout
管理器。有关添加、移除和设置
JDialog
的
LayoutManager
的更多信息,请参阅
RootPaneContainer
。
有关 contentPane
、glassPane
和 layeredPane
组件的完整描述,请参阅 JRootPane
文档。
在多屏幕环境中,可以在不同于其所有者的屏幕设备上创建一个 JDialog
。有关更多信息,请参阅 Frame
。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
JOptionPane
,
JRootPane
,
RootPaneContainer
嵌套类摘要 | |
---|---|
protected class |
JDialog.AccessibleJDialog 此类实现对 JDialog 类的可访问性支持。 |
从类 java.awt.Dialog 继承的嵌套类/接口 |
---|
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType |
从类 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 |
protected boolean |
rootPaneCheckingEnabled 如果为 true,则将对 add 和 setLayout 的调用转发到 contentPane 。 |
从类 java.awt.Dialog 继承的字段 |
---|
DEFAULT_MODALITY_TYPE |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 javax.swing.WindowConstants 继承的字段 |
---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JDialog() 创建一个没有标题并且没有指定 Frame 所有者的无模式对话框。 |
|
JDialog(Dialog owner) 创建一个没有标题但将指定的 Dialog 作为其所有者的无模式对话框。 |
|
JDialog(Dialog owner, boolean modal) 创建一个具有指定所有者 Dialog 和模式的对话框。 |
|
JDialog(Dialog owner, String title) 创建一个具有指定标题和指定所有者对话框的无模式对话框。 |
|
JDialog(Dialog owner, String title, boolean modal) 创建一个具有指定标题、模式和指定所有者 Dialog 的对话框。 |
|
JDialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) 创建一个具有指定标题、所有者 Dialog 、模式和 GraphicsConfiguration 的对话框。 |
|
JDialog(Frame owner) 创建一个没有标题但将指定的 Frame 作为其所有者的无模式对话框。 |
|
JDialog(Frame owner, boolean modal) 创建一个具有指定所有者 Frame 、模式和空标题的对话框。 |
|
JDialog(Frame owner, String title) 创建一个具有指定标题和指定所有者窗体的无模式对话框。 |
|
JDialog(Frame owner, String title, boolean modal) 创建一个具有指定标题、所有者 Frame 和模式的对话框。 |
|
JDialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc) 创建一个具有指定标题、所有者 Frame 、模式和 GraphicsConfiguration 的对话框。 |
|
JDialog(Window owner) 创建一个具有指定所有者 Window 和空标题的无模式对话框。 |
|
JDialog(Window owner, Dialog.ModalityType modalityType) 创建一个具有指定所有者 Window 、模式和空标题的对话框。 |
|
JDialog(Window owner, String title) 创建一个具有指定标题和所有者 Window 的无模式对话框。 |
|
JDialog(Window owner, String title, Dialog.ModalityType modalityType) 创建一个具有指定标题、所有者 Window 和模式的对话框。 |
|
JDialog(Window owner, String title, Dialog.ModalityType modalityType, GraphicsConfiguration gc) 创建一个具有指定标题、所有者 Window 、模式和 GraphicsConfiguration 的对话框。 |
方法摘要 | |
---|---|
protected void |
addImpl(Component comp, Object constraints, int index) 添加指定的子 Component 。 |
protected JRootPane |
createRootPane() 构造方法调用此方法来创建默认的 rootPane 。 |
protected void |
dialogInit() 构造方法调用此方法来正确初始化 JDialog 。 |
AccessibleContext |
getAccessibleContext() 获取与此 JDialog 关联的 AccessibleContext。 |
Container |
getContentPane() 返回此对话框的 contentPane 对象。 |
int |
getDefaultCloseOperation() 返回用户在此对话框上启动 "close" 时所执行的操作。 |
Component |
getGlassPane() 返回此对话框的 glassPane 对象。 |
Graphics |
getGraphics() 为组件创建一个图形上下文。 |
JMenuBar |
getJMenuBar() 返回此对话框上设置的菜单栏。 |
JLayeredPane |
getLayeredPane() 返回此对话框的 layeredPane 对象。 |
JRootPane |
getRootPane() 返回此对话框的 rootPane 对象。 |
TransferHandler |
getTransferHandler() 获取 transferHandler 属性。 |
static boolean |
isDefaultLookAndFeelDecorated() 如果应该通过当前外观为新创建的 JDialog 提供其 Window 装饰,则返回 true。 |
protected boolean |
isRootPaneCheckingEnabled() 返回是否将对 add 和 setLayout 的调用转发到 contentPane 。 |
protected String |
paramString() 返回此 JDialog 的字符串表示形式。 |
protected void |
processWindowEvent(WindowEvent e) 根据 defaultCloseOperation 属性的状态处理窗口事件。 |
void |
remove(Component comp) 从该容器中移除指定组件。 |
void |
repaint(long time, int x, int y, int width, int height) 在 time 毫秒内重绘此组件的指定矩形区域。 |
void |
setContentPane(Container contentPane) 设置 contentPane 属性。 |
void |
setDefaultCloseOperation(int operation) 设置当用户在此对话框上启动 "close" 时默认执行的操作。 |
static void |
setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated) 提供一个关于是否应该通过当前外观为新创建的 JDialog 提供其 Window 装饰(如边界、关闭窗口的小部件、标题……)的提示。 |
void |
setGlassPane(Component glassPane) 设置 glassPane 属性。 |
void |
setJMenuBar(JMenuBar menu) 设置此对话框的菜单栏。 |
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) 。 |
从类 java.awt.Dialog 继承的方法 |
---|
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack |