|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.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 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
嵌套类摘要 | |
---|---|
protected class |
JDialog.AccessibleJDialog
此类实现对 JDialog 类的可访问性支持。 |
从类 java.awt.Dialog 继承的嵌套类/接口 |
---|
Dialog.AccessibleAWTDialog |
从类 java.awt.Window 继承的嵌套类/接口 |
---|
Window.AccessibleAWTWindow |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
protected AccessibleContext |
accessibleContext
|
protected JRootPane |
rootPane
|
protected boolean |
rootPaneCheckingEnabled
如果为 true,则将对 add 和 setLayout 的调用转发到 contentPane 。 |
从类 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)
创建一个没有标题但有指定所有者对话框的有模式或无模式对话框。 |
|
JDialog(Dialog owner,
String title)
创建一个具有指定标题和指定所有者对话框的无模式对话框。 |
|
JDialog(Dialog owner,
String title,
boolean modal)
创建一个具有指定标题和指定所有者对话框的有模式或无模式对话框。 |
|
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 的有模式或无模式对话框。 |
方法摘要 | |
---|---|
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 对象。 |
JMenuBar |
getJMenuBar()
返回此对话框上设置的菜单栏。 |
JLayeredPane |
getLayeredPane()
返回此对话框的 layeredPane 对象。 |
JRootPane |
getRootPane()
返回此对话框的 rootPane 对象。 |
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 |
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 |
update(Graphics g)
调用 paint(g) 。 |
从类 java.awt.Dialog 继承的方法 |
---|
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
protected JRootPane rootPane
protected boolean rootPaneCheckingEnabled
add
和 setLayout
的调用转发到 contentPane
。此方法初始为 false,但在构造 JDialog
时将其设置为 true。
protected AccessibleContext accessibleContext
构造方法详细信息 |
---|
public JDialog() throws HeadlessException
Frame
所有者的无模式对话框。将一个共享的、隐藏的窗体设置为该对话框的所有者。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner) throws HeadlessException
Frame
作为其所有者的无模式对话框。如果 owner
为 null
,则将一个共享的、隐藏的窗体设置为该对话框的所有者。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的 Frame
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, boolean modal) throws HeadlessException
Frame
的有模式或无模式对话框。如果 owner
为 null
,则将一个共享的、隐藏的窗体设置为该对话框的所有者。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的 Frame
modal
- 为 true 时是有模式对话框,false 时允许其他窗口同时处于激活状态
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, String title) throws HeadlessException
owner
为 null
,则将一个共享的、隐藏的窗体设置为该对话框的所有者。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的 Frame
title
- 该对话框的标题栏中所显示的 String
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, String title, boolean modal) throws HeadlessException
Frame
的有模式或无模式对话框。如果 owner
为 null
,则将一个共享的、隐藏的窗体设置为该对话框的所有者。所有构造方法都服从这一规定。
注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBox
、JPopupMenu
、JMenuBar
)都是轻量级的。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的 Frame
title
- 该对话框的标题栏中所显示的 String
modal
- 为 true 时是有模式对话框,false 时允许其他窗口同时处于激活状态
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc)
Frame
和 GraphicsConfiguration
的有模式或无模式对话框。
注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBox
、JPopupMenu
、JMenuBar
)都是轻量级的。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的 Frame
title
- 该对话框的标题栏中所显示的 String
modal
- 为 true 时是有模式对话框,false 时允许其他窗口同时处于激活状态gc
- 目标屏幕设备的 GraphicsConfiguration
。如果 gc
为 null
,则使用与 Frame 相同的 GraphicsConfiguration
。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner) throws HeadlessException
Dialog
作为其所有者的无模式对话框。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的非 null Frame
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, boolean modal) throws HeadlessException
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的非 null Dialog
modal
- 为 true 时是有模式对话框,false 时允许其他窗口同时处于激活状态
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, String title) throws HeadlessException
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的非 null Dialog
title
- 该对话框的标题栏中所显示的 String
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, String title, boolean modal) throws HeadlessException
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的非 null Dialog
title
- 该对话框的标题栏中所显示的 String
modal
- true 时是有模式对话框,false 时允许其他窗口同时处于激活状态
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) throws HeadlessException
Dialog
和 GraphicsConfiguration
的有模式或无模式对话框。
注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBox
、JPopupMenu
、JMenuBar
)都是轻量级的。
此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale
所返回的值。
owner
- 显示该对话框的 Dialog
title
- 该对话框的标题栏中所显示的 String
modal
- 为 true 时是有模式对话框,false 时允许其他窗口同时处于激活状态gc
- 目标屏幕设备的 GraphicsConfiguration
。如果 gc
为 null
,则使用与 Dialog 相同的 GraphicsConfiguration
。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
方法详细信息 |
---|
protected void dialogInit()
JDialog
。
protected JRootPane createRootPane()
rootPane
。
protected void processWindowEvent(WindowEvent e)
defaultCloseOperation
属性的状态处理窗口事件。
Window
中的 processWindowEvent
e
- 窗口事件setDefaultCloseOperation(int)
public void setDefaultCloseOperation(int operation)
DO_NOTHING_ON_CLOSE
- 不执行任何操作,需要程序在已注册的 WindowListener
对象的 windowClosing
方法中处理该操作。
HIDE_ON_CLOSE
- 调用任意已注册的 WindowListener
对象后自动隐藏该对话框
DISPOSE_ON_CLOSE
- 调用任意已注册的 WindowListener
对象后自动隐藏并处置该对话框
默认将该值设置为 HIDE_ON_CLOSE
。
注:当 Java 虚拟机 (VM) 中最后的可显示窗口被移除后,虚拟机可能会终止。有关更多信息,请参阅 AWT Threading Issues。
public int getDefaultCloseOperation()
setDefaultCloseOperation(int)
public void update(Graphics g)
paint(g)
。重写此方法,以防止不必要的清除背景调用。
g
- 在其中进行绘制的 Graphics
上下文Component.update(Graphics)
public void setJMenuBar(JMenuBar menu)
menu
- 该对话框中放置的菜单栏getJMenuBar()
public JMenuBar getJMenuBar()
protected boolean isRootPaneCheckingEnabled()
add
和 setLayout
的调用转发到 contentPane
。
add
和 setLayout
,则返回 true;否则返回 falseaddImpl(java.awt.Component, java.lang.Object, int)
,
setLayout(java.awt.LayoutManager)
,
setRootPaneCheckingEnabled(boolean)
,
RootPaneContainer
protected void setRootPaneCheckingEnabled(boolean enabled)
add
和 setLayout
的调用转发到 contentPane
。
enabled
- 如果转发 add
和 setLayout
,则为 true;如果应该直接在 JDialog
上操作,则为 false。addImpl(java.awt.Component, java.lang.Object, int)
,
setLayout(java.awt.LayoutManager)
,
isRootPaneCheckingEnabled()
,
RootPaneContainer
protected void addImpl(Component comp, Object constraints, int index)
Component
。重写此方法,以有条件地将调用转发到 contentPane
。默认情况下将子组件添加到 contentPane
,而不是窗体中,有关此内容的详情,请参阅 RootPaneContainer
。
comp
- 子组件所添加到的组件constraints
- 要遵守的约束条件index
- 索引
IllegalArgumentException
- 如果 index
无效
IllegalArgumentException
- 如果将容器的父级添加到其本身
IllegalArgumentException
- 如果向容器内添加窗口setRootPaneCheckingEnabled(boolean)
,
RootPaneContainer
public void remove(Component comp)
comp
不是 rootPane
,则将该调用转发到 contentPane
。如果 comp
不是 JDialog
或 contentPane
的子级,则不执行任何操作。
comp
- 要移除的组件
NullPointerException
- 如果 comp
为 nullContainer.add(java.awt.Component)
,
RootPaneContainer
public void setLayout(LayoutManager manager)
LayoutManager
。重写此方法,以有条件地将调用转发到 contentPane
。有关此内容的更多信息,请参阅 RootPaneContainer
。
manager
- the LayoutManager
setRootPaneCheckingEnabled(boolean)
,
RootPaneContainer
public JRootPane getRootPane()
rootPane
对象。
RootPaneContainer
中的 getRootPane
setRootPane(javax.swing.JRootPane)
,
RootPaneContainer.getRootPane()
protected void setRootPane(JRootPane root)
rootPane
属性。此方法由构造方法调用。
root
- 此对话框的 rootPane
对象getRootPane()
public Container getContentPane()
contentPane
对象。
RootPaneContainer
中的 getContentPane
contentPane
属性setContentPane(java.awt.Container)
,
RootPaneContainer.getContentPane()
public void setContentPane(Container contentPane)
contentPane
属性。此方法由构造方法调用。
Swing 的绘制架构要求在包含层次结构中有不透明的 JComponent
。这通常由内容窗格提供。如果要替换内容窗格,建议用不透明的 JComponent
替换它。
RootPaneContainer
中的 setContentPane
contentPane
- 此对话框的 contentPane
对象
IllegalComponentStateException
- (运行时异常)如果 contentPane 参数为 null
JRootPane
,
getContentPane()
,
RootPaneContainer.setContentPane(java.awt.Container)
public JLayeredPane getLayeredPane()
layeredPane
对象。
RootPaneContainer
中的 getLayeredPane
layeredPane
属性setLayeredPane(javax.swing.JLayeredPane)
,
RootPaneContainer.getLayeredPane()
public void setLayeredPane(JLayeredPane layeredPane)
layeredPane
属性。此方法由构造方法调用。
RootPaneContainer
中的 setLayeredPane
layeredPane
- 新的 layeredPane
属性
IllegalComponentStateException
- (运行时异常)如果 layeredPane 参数为 nullgetLayeredPane()
,
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
public Component getGlassPane()
glassPane
对象。
RootPaneContainer
中的 getGlassPane
glassPane
属性setGlassPane(java.awt.Component)
,
RootPaneContainer.getGlassPane()
public void setGlassPane(Component glassPane)
glassPane
属性。此方法由构造方法调用。
RootPaneContainer
中的 setGlassPane
glassPane
- 此对话框的 glassPane
对象getGlassPane()
,
RootPaneContainer.setGlassPane(java.awt.Component)
public static void setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
JDialog
提供其 Window 装饰(如边界、关闭窗口的小部件、标题……)的提示。如果 defaultLookAndFeelDecorated
为 true、当前的 LookAndFeel
支持提供窗口装饰,并且当前的窗口管理器支持未装饰的窗口,则通过当前的 LookAndFeel
为新创建的 JDialog
提供其 Window 装饰。否则,通过当前的窗口管理器为新创建的 JDialog
提供其 Window 装饰。
执行下列操作可在单个 JDialog 上获得相同的效果:
JDialog dialog = new JDialog(); dialog.setUndecorated(true); dialog.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
defaultLookAndFeelDecorated
- 关于当前外观是否应该提供 window 装饰的提示LookAndFeel.getSupportsWindowDecorations()
public static boolean isDefaultLookAndFeelDecorated()
JDialog
提供其 Window 装饰,则返回 true。这只是一个提示,因为某些外观可能不支持此功能。
protected String paramString()
JDialog
的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null
。
Dialog
中的 paramString
JDialog
的字符串表示形式。public AccessibleContext getAccessibleContext()
Accessible
中的 getAccessibleContext
Dialog
中的 getAccessibleContext
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。