JavaTM Platform
Standard Ed. 6

javax.swing
类 JDialog

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 java.awt.Window
              继承者 java.awt.Dialog
                  继承者 javax.swing.JDialog
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class JDialog
extends Dialog
implements WindowConstants, Accessible, RootPaneContainer

创建对话框窗口的主要类。可以使用此类创建自定义的对话框,或者调用 JOptionPane 中的多个类方法来创建各种标准对话框。有关创建对话框的信息,请参阅 The Java Tutorial 中的 How to Make Dialogs 一节。

JDialog 组件包含一个 JRootPane 作为其唯一子组件。contentPane 应该是所有 JDialog 子组件的父级。为了方便使用 add 及其变体,已经重写了 removesetLayout,以在必要时将其转发到 contentPane。这意味着可以编写:

       dialog.add(child);
 
将子级添加到 contentPane。contentPane 始终是非 null 的。试图将其设置为 null 会生成异常。默认的 contentPane 有一个 BorderLayout 管理器。有关添加、移除和设置 JDialogLayoutManager 的更多信息,请参阅 RootPaneContainer

有关 contentPaneglassPanelayeredPane 组件的完整描述,请参阅 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,则将对 addsetLayout 的调用转发到 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()
          返回是否将对 addsetLayout 的调用转发到 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)
          设置是否将对 addsetLayout 的调用转发到 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
 
从类 java.awt.Window 继承的方法
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
从类 java.awt.Container 继承的方法
add, add, add, add, add, addContainerListener, 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, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, 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, 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, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

rootPane

protected JRootPane rootPane
另请参见:
getRootPane(), setRootPane(javax.swing.JRootPane)

rootPaneCheckingEnabled

protected boolean rootPaneCheckingEnabled
如果为 true,则将对 addsetLayout 的调用转发到 contentPane。此方法初始为 false,但在构造 JDialog 时将其设置为 true。

另请参见:
isRootPaneCheckingEnabled(), setRootPaneCheckingEnabled(boolean), RootPaneContainer

accessibleContext

protected AccessibleContext accessibleContext
构造方法详细信息

JDialog

public JDialog()
创建一个没有标题并且没有指定 Frame 所有者的无模式对话框。一个共享的、隐藏的窗体将被设置为该对话框的所有者。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

注:此构造方法不允许创建没有所有者的 JDialog。要创建没有所有者的 JDialog,必须使用带有 null 参数的 JDialog(Window)JDialog(Dialog) 构造方法。

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Frame owner)
创建一个没有标题但将指定的 Frame 作为其所有者的无模式对话框。如果 ownernull,则一个共享的、隐藏的窗体将被设置为该对话框的所有者。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

注:此构造方法不允许创建没有所有者的 JDialog。要创建没有所有者的 JDialog,必须使用带有 null 参数的 JDialog(Window)JDialog(Dialog) 构造方法。

参数:
owner - 显示该对话框的 Frame
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Frame owner,
               boolean modal)
创建一个具有指定所有者 Frame、模式和空标题的对话框。如果 ownernull,则一个共享的、隐藏的窗体将被设置为该对话框的所有者。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

注:此构造方法不允许创建没有所有者的 JDialog。要创建没有所有者的 JDialog,必须使用带有 null 参数的 JDialog(Window)JDialog(Dialog) 构造方法。

参数:
owner - 显示该对话框的 Frame
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Frame owner,
               String title)
创建一个具有指定标题和指定所有者窗体的无模式对话框。如果 ownernull,则一个共享的、隐藏的窗体将被设置为该对话框的所有者。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

注:此构造方法不允许创建没有所有者的 JDialog。要创建没有所有者的 JDialog,必须使用带有 null 参数的 JDialog(Window)JDialog(Dialog) 构造方法。

参数:
owner - 显示该对话框的 Frame
title - 该对话框的标题栏中所显示的 String
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Frame owner,
               String title,
               boolean modal)
创建一个具有指定标题、所有者 Frame 和模式的对话框。如果 ownernull,则一个共享的、隐藏的窗体将被设置为该对话框的所有者。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBoxJPopupMenuJMenuBar)都是轻量级的。

注:此构造方法不允许创建没有所有者的 JDialog。要创建没有所有者的 JDialog,必须使用带有 null 参数的 JDialog(Window)JDialog(Dialog) 构造方法。

参数:
owner - 显示该对话框的 Frame
title - 该对话框的标题栏中所显示的 String
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
Dialog.ModalityType, Dialog.ModalityType.MODELESS, Dialog.DEFAULT_MODALITY_TYPE, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Frame owner,
               String title,
               boolean modal,
               GraphicsConfiguration gc)
创建一个具有指定标题、所有者 Frame、模式和 GraphicsConfiguration 的对话框。如果 ownernull,则一个共享的、隐藏的窗体将被设置为该对话框的所有者。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 返回的值。

注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBoxJPopupMenuJMenuBar)都是轻量级的。

注:此构造方法不允许创建没有所有者的 JDialog。要创建没有所有者的 JDialog,必须使用带有 null 参数的 JDialog(Window)JDialog(Dialog) 构造方法。

参数:
owner - 显示该对话框的 Frame
title - 该对话框的标题栏中所显示的 String
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。
gc - 目标屏幕设备的 GraphicsConfiguration。如果 gcnull,则使用与 Frame 相同的 GraphicsConfiguration
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.4
另请参见:
Dialog.ModalityType, Dialog.ModalityType.MODELESS, Dialog.DEFAULT_MODALITY_TYPE, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Dialog owner)
创建一个没有标题但将指定的 Dialog 作为其所有者的无模式对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的所有者 Dialog;如果此对话框没有所有者,则为 null
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Dialog owner,
               boolean modal)
创建一个具有指定所有者 Dialog 和模式的对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的所有者 Dialog;如果此对话框没有所有者,则为 null
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
Dialog.ModalityType, Dialog.ModalityType.MODELESS, Dialog.DEFAULT_MODALITY_TYPE, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Dialog owner,
               String title)
创建一个具有指定标题和指定所有者对话框的无模式对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的所有者 Dialog;如果此对话框没有所有者,则为 null
title - 该对话框的标题栏中所显示的 String
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Dialog owner,
               String title,
               boolean modal)
创建一个具有指定标题、模式和指定所有者 Dialog 的对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的所有者 Dialog;如果此对话框没有所有者,则为 null
title - 该对话框的标题栏中所显示的 String
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
Dialog.ModalityType, Dialog.ModalityType.MODELESS, Dialog.DEFAULT_MODALITY_TYPE, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Dialog owner,
               String title,
               boolean modal,
               GraphicsConfiguration gc)
创建一个具有指定标题、所有者 Dialog、模式和 GraphicsConfiguration 的对话框。

注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBoxJPopupMenuJMenuBar)都是轻量级的。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的所有者 Dialog;如果此对话框没有所有者,则为 null
title - 该对话框的标题栏中所显示的 String
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。
gc - 目标屏幕设备的 GraphicsConfiguration。如果 gcnull,则使用与 Dialog 相同的 GraphicsConfiguration
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.4
另请参见:
Dialog.ModalityType, Dialog.ModalityType.MODELESS, Dialog.DEFAULT_MODALITY_TYPE, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Window owner)
创建一个具有指定所有者 Window 和空标题的无模式对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的 Window;如果此对话框没有所有者,则为 null
抛出:
HeadlessException - 当 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.6
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Window owner,
               Dialog.ModalityType modalityType)
创建一个具有指定所有者 Window、模式和空标题的对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的 Window;如果此对话框没有所有者,则为 null
modalityType - 指定对话框在显示时是否阻塞向其他窗口输入。null 值和不受支持的模式类型等效于 MODELESS
抛出:
HeadlessException - 当 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.6
另请参见:
Dialog.ModalityType, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Window owner,
               String title)
创建一个具有指定标题和所有者 Window 的无模式对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的 Window;如果此对话框没有所有者,则为 null
title - 该对话框的标题栏中所显示的 String;如果该对话框没有标题,则为 null
抛出:
HeadlessException - 当 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.6
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Window owner,
               String title,
               Dialog.ModalityType modalityType)
创建一个具有指定标题、所有者 Window 和模式的对话框。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的 Window;如果此对话框没有所有者,则为 null
title - 该对话框的标题栏中所显示的 String;如果该对话框没有标题,则为 null
modalityType - 指定对话框在显示时是否阻塞向其他窗口输入。null 值和不受支持的模式类型等效于 MODELESS
抛出:
HeadlessException - 当 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.6
另请参见:
Dialog.ModalityType, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JDialog

public JDialog(Window owner,
               String title,
               Dialog.ModalityType modalityType,
               GraphicsConfiguration gc)
创建一个具有指定标题、所有者 Window、模式和 GraphicsConfiguration 的对话框。

注:强制要求在有模式对话框中所创建的所有弹出式组件(JComboBoxJPopupMenuJMenuBar)都是轻量级的。

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
owner - 显示该对话框的 Window;如果此对话框没有所有者,则为 null
title - 该对话框的标题栏中所显示的 String;如果该对话框没有标题,则为 null
modalityType - 指定对话框在显示时是否阻塞向其他窗口输入。null 值和不受支持的模式类型等效于 MODELESS
gc - 目标屏幕设备的 GraphicsConfiguration;如果为 null,则使用拥有窗口的 GraphicsConfiguration;如果 owner 也为 null,则假定它为系统默认的 GraphicsConfiguration
抛出:
HeadlessException - 当 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.6
另请参见:
Dialog.ModalityType, Dialog.setModal(boolean), Dialog.setModalityType(java.awt.Dialog.ModalityType), GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()
方法详细信息

dialogInit

protected void dialogInit()
构造方法调用此方法来正确初始化 JDialog


createRootPane

protected JRootPane createRootPane()
构造方法调用此方法来创建默认的 rootPane


processWindowEvent

protected void processWindowEvent(WindowEvent e)
根据 defaultCloseOperation 属性的状态处理窗口事件。

覆盖:
Window 中的 processWindowEvent
参数:
e - 窗口事件
另请参见:
setDefaultCloseOperation(int)

setDefaultCloseOperation

public void setDefaultCloseOperation(int operation)
设置当用户在此对话框上启动 "close" 时默认执行的操作。必须指定以下选项之一:

默认将该值设置为 HIDE_ON_CLOSE。对此属性的值的更改将导致触发属性更改事件,带有属性名称 "defaultCloseOperation"。

注:当 Java 虚拟机 (VM) 中最后的可显示窗口被移除后,虚拟机可能会终止。有关更多信息,请参阅 AWT Threading Issues

参数:
operation - 当用户关闭该对话框时应该执行的操作
抛出:
IllegalArgumentException - 如果 defaultCloseOperation 值不是上述有效值之一
另请参见:
Window.addWindowListener(java.awt.event.WindowListener), getDefaultCloseOperation(), WindowConstants

getDefaultCloseOperation

public int getDefaultCloseOperation()
返回用户在此对话框上启动 "close" 时所执行的操作。

返回:
一个指示窗口关闭操作的整数
另请参见:
setDefaultCloseOperation(int)

setTransferHandler

public void setTransferHandler(TransferHandler newHandler)
设置 transferHandler 属性,该属性是支持向此组件传输数据的机制。如果该组件不支持数据传输操作,那么请使用 null

如果系统属性 suppressSwingDropSupportfalse(默认值),并且此组件上的当前放置目标为 null 或者不是用户设置的放置目标,则此方法将按如下方式更改放置目标:如果 newHandlernull,则它将清除放置目标。如果不为 null,则它将安装一个新的 DropTarget

注:当用于 JDialog 时,TransferHandler 只提供数据导入功能,与数据导出有关的方法当前用于 JComponent

有关更多信息,请参阅 The Java Tutorial 中的 How to Use Drag and Drop and Data Transfer 一节。

参数:
newHandler - 新的 TransferHandler
从以下版本开始:
1.6
另请参见:
TransferHandler, getTransferHandler(), Component.setDropTarget(java.awt.dnd.DropTarget)

getTransferHandler

public TransferHandler getTransferHandler()
获取 transferHandler 属性。

返回:
transferHandler 属性的值
从以下版本开始:
1.6
另请参见:
TransferHandler, setTransferHandler(javax.swing.TransferHandler)

update

public void update(Graphics g)
调用 paint(g)。重写此方法,以防止不必要的清除背景调用。

覆盖:
Container 中的 update
参数:
g - 在其中进行绘制的 Graphics 上下文
另请参见:
Component.update(Graphics)

setJMenuBar

public void setJMenuBar(JMenuBar menu)
设置此对话框的菜单栏。

参数:
menu - 该对话框中放置的菜单栏
另请参见:
getJMenuBar()

getJMenuBar

public JMenuBar getJMenuBar()
返回此对话框上设置的菜单栏。

另请参见:
setJMenuBar(javax.swing.JMenuBar)

isRootPaneCheckingEnabled

protected boolean isRootPaneCheckingEnabled()
返回是否将对 addsetLayout 的调用转发到 contentPane

返回:
如果转发 addsetLayout,则返回 true;否则返回 false
另请参见:
addImpl(java.awt.Component, java.lang.Object, int), setLayout(java.awt.LayoutManager), setRootPaneCheckingEnabled(boolean), RootPaneContainer

setRootPaneCheckingEnabled

protected void setRootPaneCheckingEnabled(boolean enabled)
设置是否将对 addsetLayout 的调用转发到 contentPane

参数:
enabled - 如果转发 addsetLayout,则为 true;如果应该直接在 JDialog 上操作,则为 false。
另请参见:
addImpl(java.awt.Component, java.lang.Object, int), setLayout(java.awt.LayoutManager), isRootPaneCheckingEnabled(), RootPaneContainer

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
添加指定的子 Component。重写此方法,以有条件地将调用转发到 contentPane。默认情况下将子组件添加到 contentPane,而不是窗体中,有关此内容的详情,请参阅 RootPaneContainer

覆盖:
Container 中的 addImpl
参数:
comp - 要增强的组件
constraints - 要遵守的约束条件
index - 索引
抛出:
IllegalArgumentException - 如果 index 无效
IllegalArgumentException - 如果将容器的父级添加到其本身
IllegalArgumentException - 如果向容器内添加窗口
另请参见:
setRootPaneCheckingEnabled(boolean), RootPaneContainer

remove

public void remove(Component comp)
从该容器中移除指定组件。如果 comp 不是 rootPane,则将该调用转发到 contentPane。如果 comp 不是 JDialogcontentPane 的子级,则不执行任何操作。

覆盖:
Container 中的 remove
参数:
comp - 要移除的组件
抛出:
NullPointerException - 如果 comp 为 null
另请参见:
Container.add(java.awt.Component), RootPaneContainer

setLayout

public void setLayout(LayoutManager manager)
设置 LayoutManager。重写此方法,以有条件地将调用转发到 contentPane。有关此内容的更多信息,请参阅 RootPaneContainer

覆盖:
Container 中的 setLayout
参数:
manager - the LayoutManager
另请参见:
setRootPaneCheckingEnabled(boolean), RootPaneContainer

getRootPane

public JRootPane getRootPane()
返回此对话框的 rootPane 对象。

指定者:
接口 RootPaneContainer 中的 getRootPane
返回:
此组件的单个 JRootPane 子组件。
另请参见:
setRootPane(javax.swing.JRootPane), RootPaneContainer.getRootPane()

setRootPane

protected void setRootPane(JRootPane root)
设置 rootPane 属性。此方法由构造方法调用。

参数:
root - 此对话框的 rootPane 对象
另请参见:
getRootPane()

getContentPane

public Container getContentPane()
返回此对话框的 contentPane 对象。

指定者:
接口 RootPaneContainer 中的 getContentPane
返回:
contentPane 属性
另请参见:
setContentPane(java.awt.Container), RootPaneContainer.getContentPane()

setContentPane

public void setContentPane(Container contentPane)
设置 contentPane 属性。此方法由构造方法调用。

Swing 的绘制架构要求在包含层次结构中有不透明的 JComponent。这通常由内容窗格提供。如果要替换内容窗格,建议用不透明的 JComponent 替换它。

指定者:
接口 RootPaneContainer 中的 setContentPane
参数:
contentPane - 此对话框的 contentPane 对象
抛出:
IllegalComponentStateException - (运行时异常)如果 contentPane 参数为 null
另请参见:
JRootPane, getContentPane(), RootPaneContainer.setContentPane(java.awt.Container)

getLayeredPane

public JLayeredPane getLayeredPane()
返回此对话框的 layeredPane 对象。

指定者:
接口 RootPaneContainer 中的 getLayeredPane
返回:
layeredPane 属性
另请参见:
setLayeredPane(javax.swing.JLayeredPane), RootPaneContainer.getLayeredPane()

setLayeredPane

public void setLayeredPane(JLayeredPane layeredPane)
设置 layeredPane 属性。此方法由构造方法调用。

指定者:
接口 RootPaneContainer 中的 setLayeredPane
参数:
layeredPane - 新的 layeredPane 属性
抛出:
IllegalComponentStateException - (运行时异常)如果 layeredPane 参数为 null
另请参见:
getLayeredPane(), RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)

getGlassPane

public Component getGlassPane()
返回此对话框的 glassPane 对象。

指定者:
接口 RootPaneContainer 中的 getGlassPane
返回:
glassPane 属性
另请参见:
setGlassPane(java.awt.Component), RootPaneContainer.getGlassPane()

setGlassPane

public void setGlassPane(Component glassPane)
设置 glassPane 属性。此方法由构造方法调用。

指定者:
接口 RootPaneContainer 中的 setGlassPane
参数:
glassPane - 此对话框的 glassPane 对象
另请参见:
getGlassPane(), RootPaneContainer.setGlassPane(java.awt.Component)

getGraphics

public Graphics getGraphics()
为组件创建一个图形上下文。如果组件当前是不可显示的,则此方法返回 null

覆盖:
Component 中的 getGraphics
返回:
组件的图形上下文,如果其没有,则返回 null
从以下版本开始:
1.6
另请参见:
Component.paint(java.awt.Graphics)

repaint

public void repaint(long time,
                    int x,
                    int y,
                    int width,
                    int height)
time 毫秒内重绘此组件的指定矩形区域。有关如何处理重绘的详细信息,请参阅 RepaintManager

覆盖:
Component 中的 repaint
参数:
time - 更新前等待的最长时间(以毫秒为单位)
x - x 坐标
y - y 坐标
width - 宽度
height - 高度
从以下版本开始:
1.6
另请参见:
RepaintManager

setDefaultLookAndFeelDecorated

public static void setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
提供一个关于是否应该通过当前外观为新创建的 JDialog 提供其 Window 装饰(如边界、关闭窗口的小部件、标题……)的提示。如果 defaultLookAndFeelDecorated 为 true、当前 LookAndFeel 支持提供 Window 装饰,并且当前窗口管理器支持未装饰的窗口,则通过当前 LookAndFeel 为新创建的 JDialog 提供其 Window 装饰。否则,通过当前窗口管理器为新创建的 JDialog 提供其 Window 装饰。

执行下列操作可在单个 JDialog 上获取相同的效果:

    JDialog dialog = new JDialog();
    dialog.setUndecorated(true);
    dialog.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
 

参数:
defaultLookAndFeelDecorated - 关于当前外观是否应该提供 window 装饰的提示
从以下版本开始:
1.4
另请参见:
LookAndFeel.getSupportsWindowDecorations()

isDefaultLookAndFeelDecorated

public static boolean isDefaultLookAndFeelDecorated()
如果应该通过当前外观为新创建的 JDialog 提供其 Window 装饰,则返回 true。这只是一个提示,因为某些外观可能不支持此功能。

返回:
如果外观应该提供 Window 装饰,则返回 true。
从以下版本开始:
1.4

paramString

protected String paramString()
返回此 JDialog 的字符串表示形式。此方法仅在进行调试时使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可以为空,但不可以为 null

覆盖:
Dialog 中的 paramString
返回:
JDialog 的字符串表示形式。

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 JDialog 关联的 AccessibleContext。对于 JDialog 来说,AccessibleContext 采用 AccessibleJDialog 的形式。如有必要,可创建一个新的 AccessibleJDialog 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
Dialog 中的 getAccessibleContext
返回:
一个 AccessibleJDialog,它充当此 JDialog 的 AccessibleContext

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策