Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class JDialog

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--java.awt.Window
                        |
                        +--java.awt.Dialog
                              |
                              +--javax.swing.JDialog

All Implemented Interfaces:
  Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class JDialog
extends Dialog
implements WindowConstants, Accessible, RootPaneContainer

The main class for creating a dialog window. You can use this class to create a custom dialog, or invoke the many class methods in `JOptionPane` to create a variety of standard dialogs. For information about creating dialogs, see The Java Tutorial section How to Make Dialogs.

The `JDialog` component contains a `JRootPane` as its only child. The `contentPane` should be the parent of any children of the `JDialog`. From the older `java.awt.Window` object you would normally do something like this:

           dialog.add(child);

Using `JDialog` the proper semantic is:

           dialog.getContentPane().add(child);

The same priniciple holds true for setting layout managers, removing components, listing children, etc. All these methods should normally be sent to the `contentPane` instead of to the `JDialog`. The `contentPane` is always non-`null`. Attempting to set it to `null` generates an exception. The default `contentPane` has a `BorderLayout` manager set on it.

Please see the `JRootPane` documentation for a complete description of the `contentPane`, `glassPane`, and `layeredPane` components.

For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the JDialog key assignments.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
  `JOptionPane`, `JRootPane`, Serialized Form

Inner Class Summary
`protected class` | `JDialog.AccessibleJDialog` This class implements accessibility support for the `JDialog` class.

Inner classes inherited from class java.awt.Dialog
`Dialog.AccessibleAWTDialog`

Inner classes inherited from class java.awt.Window
`Window.AccessibleAWTWindow`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent`

Field Summary
`protected AccessibleContext` | `accessibleContext`
`protected JRootPane` | `rootPane`
`protected boolean` | `rootPaneCheckingEnabled`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface javax.swing.WindowConstants
`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`JDialog()` Creates a non-modal dialog without a title and without a specified `Frame` owner.
`JDialog(Dialog owner)` Creates a non-modal dialog without a title with the specifed `Dialog` as its owner.
`JDialog(Dialog owner, boolean modal)` Creates a modal or non-modal dialog without a title and with the specified owner dialog.
`JDialog(Dialog owner, String title)` Creates a non-modal dialog with the specified title and with the specified owner dialog.
`JDialog(Dialog owner, String title, boolean modal)` Creates a modal or non-modal dialog with the specified title and the specified owner frame.
`JDialog(Frame owner)` Creates a non-modal dialog without a title with the specifed `Frame` as its owner.
`JDialog(Frame owner, boolean modal)` Creates a modal or non-modal dialog without a title and with the specified owner `Frame`.
`JDialog(Frame owner, String title)` Creates a non-modal dialog with the specified title and with the specified owner frame.
`JDialog(Frame owner, String title, boolean modal)` Creates a modal or non-modal dialog with the specified title and the specified owner `Frame`.

Method Summary
`protected void` | `addImpl(Component comp, Object constraints, int index)` By default, children may not be added directly to a this component, they must be added to its `contentPane` instead.
`protected JRootPane` | `createRootPane()` Called by the constructor methods to create the default `rootPane`.
`protected void` | `dialogInit()` Called by the constructors to init the `JDialog` properly.
`AccessibleContext` | `getAccessibleContext()` Gets the AccessibleContext associated with this JDialog.
`Container` | `getContentPane()` Returns the `contentPane` object for this dialog.
`int` | `getDefaultCloseOperation()` Returns the operation which occurs when the user initiates a "close" on this dialog.
`Component` | `getGlassPane()` Returns the `glassPane` object for this dialog.
`JMenuBar` | `getJMenuBar()` Returns the menubar set on this dialog.
`JLayeredPane` | `getLayeredPane()` Returns the `layeredPane` object for this dialog.
`JRootPane` | `getRootPane()` Returns the `rootPane` object for this dialog.
`protected boolean` | `isRootPaneCheckingEnabled()` Returns true if the methods `add` and `setLayout` should be checked.
`protected String` | `paramString()` Returns a string representation of this `JDialog`.
`protected void` | `processKeyEvent(KeyEvent e)` Processes key events occurring on this component and, if appropriate, passes them on to components in the dialog which have registered interest in them.
`protected void` | `processWindowEvent(WindowEvent e)` Handles window events depending on the state of the `defaultCloseOperation` property.
`void` | `remove(Component comp)` Removes the specified component from this container.
`void` | `setContentPane(Container contentPane)` Sets the `contentPane` property.
`void` | `setDefaultCloseOperation(int operation)` Sets the operation which will happen by default when the user initiates a "close" on this dialog.
`void` | `setGlassPane(Component glassPane)` Sets the `glassPane` property.
`void` | `setJMenuBar(JMenuBar menu)` Sets the menubar for this dialog.
`void` | `setLayeredPane(JLayeredPane layeredPane)` Sets the `layeredPane` property.
`void` | `setLayout(LayoutManager manager)` By default the layout of this component may not be set, the layout of its `contentPane` should be set instead.
`void` | `setLocationRelativeTo(Component c)` Sets the location of the dialog relative to the specified component.
`protected void` | `setRootPane(JRootPane root)` Sets the `rootPane` property.
`protected void` | `setRootPaneCheckingEnabled(boolean enabled)` If true then calls to `add` and `setLayout` will cause an exception to be thrown.
`void` | `update(Graphics g)` Calls `paint(g)`.

Methods inherited from class java.awt.Dialog
`addNotify, dispose, getTitle, hide, isModal, isResizable, setModal, setResizable, setTitle, show`

Methods inherited from class java.awt.Window
`addWindowListener, applyResourceBundle, applyResourceBundle, finalize, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, toBack, toFront`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFont, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, 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, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### rootPane

    protected JRootPane rootPane

  See Also:
    `getRootPane()`, `setRootPane(javax.swing.JRootPane)`

### rootPaneCheckingEnabled

    protected boolean rootPaneCheckingEnabled

  See Also:
    `isRootPaneCheckingEnabled()`, `setRootPaneCheckingEnabled(boolean)`

### accessibleContext

    protected AccessibleContext accessibleContext

Constructor Detail

### JDialog

    public JDialog()

  Creates a non-modal dialog without a title and without a specified `Frame` owner. A shared, hidden frame will be set as the owner of the dialog.

### JDialog

    public JDialog(Frame owner)

  Creates a non-modal dialog without a title with the specifed `Frame` as its owner.
  Parameters:
    `owner` - the `Frame` from which the dialog is displayed

### JDialog

    public JDialog(Frame owner,
                   boolean modal)

  Creates a modal or non-modal dialog without a title and with the specified owner `Frame`.
  Parameters:
    `owner` - the `Frame` from which the dialog is displayed
    `modal` - true for a modal dialog, false for one that allows others windows to be active at the same time

### JDialog

    public JDialog(Frame owner,
                   String title)

  Creates a non-modal dialog with the specified title and with the specified owner frame.
  Parameters:
    `owner` - the `Frame` from which the dialog is displayed
    `title` - the `String` to display in the dialog's title bar

### JDialog

    public JDialog(Frame owner,
                   String title,
                   boolean modal)

  Creates a modal or non-modal dialog with the specified title and the specified owner `Frame`. All constructors defer to this one.

  NOTE: Any popup components (`JComboBox`, `JPopupMenu`, `JMenuBar`) created within a modal dialog will be forced to be lightweight.

  Parameters:
    `owner` - the `Frame` from which the dialog is displayed
    `title` - the `String` to display in the dialog's title bar
    `modal` - true for a modal dialog, false for one that allows other windows to be active at the same time

### JDialog

    public JDialog(Dialog owner)

  Creates a non-modal dialog without a title with the specifed `Dialog` as its owner.
  Parameters:
    `owner` - the `Dialog` from which the dialog is displayed

### JDialog

    public JDialog(Dialog owner,
                   boolean modal)

  Creates a modal or non-modal dialog without a title and with the specified owner dialog.

  Parameters:
    `owner` - the `Dialog` from which the dialog is displayed
    `modal` - true for a modal dialog, false for one that allows other windows to be active at the same time

### JDialog

    public JDialog(Dialog owner,
                   String title)

  Creates a non-modal dialog with the specified title and with the specified owner dialog.
  Parameters:
    `owner` - the `Dialog` from which the dialog is displayed
    `title` - the `String` to display in the dialog's title bar

### JDialog

    public JDialog(Dialog owner,
                   String title,
                   boolean modal)

  Creates a modal or non-modal dialog with the specified title and the specified owner frame.
  Parameters:
    `owner` - the `Dialog` from which the dialog is displayed
    `title` - the `String` to display in the dialog's title bar
    `modal` - true for a modal dialog, false for one that allows other windows to be active at the same time

Method Detail

### dialogInit

    protected void dialogInit()

  Called by the constructors to init the `JDialog` properly.

### createRootPane

    protected JRootPane createRootPane()

  Called by the constructor methods to create the default `rootPane`.

### processKeyEvent

    protected void processKeyEvent(KeyEvent e)

  Processes key events occurring on this component and, if appropriate, passes them on to components in the dialog which have registered interest in them.
  Overrides:
    `processKeyEvent` in class `Component`
  Parameters:
    `e` - the key event
  See Also:
    `Component.processKeyEvent(java.awt.event.KeyEvent)`

### processWindowEvent

    protected void processWindowEvent(WindowEvent e)

  Handles window events depending on the state of the `defaultCloseOperation` property.
  Overrides:
    `processWindowEvent` in class `Window`
  See Also:
    `setDefaultCloseOperation(int)`

### setDefaultCloseOperation

    public void setDefaultCloseOperation(int operation)

  Sets the operation which will happen by default when the user initiates a "close" on this dialog. The possible choices are:
  - DO_NOTHING_ON_CLOSE - do not do anything - require the program to handle the operation in the `windowClosing` method of a registered `WindowListener` object.
  - HIDE_ON_CLOSE - automatically hide the dialog after invoking any registered `WindowListener` objects
  - DISPOSE_ON_CLOSE - automatically hide and dispose the dialog after invoking any registered `WindowListener` objects

  The value is set to HIDE_ON_CLOSE by default.

  See Also:
    `Window.addWindowListener(java.awt.event.WindowListener)`, `getDefaultCloseOperation()`

### getDefaultCloseOperation

    public int getDefaultCloseOperation()

  Returns the operation which occurs when the user initiates a "close" on this dialog.
  Returns:
    an integer indicating the window-close operation
  See Also:
    `setDefaultCloseOperation(int)`

### update

    public void update(Graphics g)

  Calls `paint(g)`. This method was overridden to prevent an unneccessary call to clear the background.
  Overrides:
    `update` in class `Container`
  Following copied from class: `java.awt.Container`
  Parameters:
    `g` - the specified Graphics window
  See Also:
    `Component.update(java.awt.Graphics)`

### setJMenuBar

    public void setJMenuBar(JMenuBar menu)

  Sets the menubar for this dialog.
  Parameters:
    `menubar` - the menubar being placed in the dialog
  See Also:
    `getJMenuBar()`

### getJMenuBar

    public JMenuBar getJMenuBar()

  Returns the menubar set on this dialog.
  See Also:
    `setJMenuBar(javax.swing.JMenuBar)`

### isRootPaneCheckingEnabled

    protected boolean isRootPaneCheckingEnabled()

  Returns true if the methods `add` and `setLayout` should be checked.
  Returns:
    true if `add` and `setLayout` should be checked
  See Also:
    `addImpl(java.awt.Component, java.lang.Object, int)`, `setLayout(java.awt.LayoutManager)`, `setRootPaneCheckingEnabled(boolean)`

### setRootPaneCheckingEnabled

    protected void setRootPaneCheckingEnabled(boolean enabled)

  If true then calls to `add` and `setLayout` will cause an exception to be thrown.
  See Also:
    `addImpl(java.awt.Component, java.lang.Object, int)`, `setLayout(java.awt.LayoutManager)`, `isRootPaneCheckingEnabled()`

### addImpl

    protected void addImpl(Component comp,
                           Object constraints,
                           int index)

  By default, children may not be added directly to a this component, they must be added to its `contentPane` instead. For example:

       thisComponent.getContentPane().add(child)

  An attempt to add to directly to this component will cause an runtime exception to be thrown if rootPaneCheckingEnabled is true. Subclasses can disable this behavior.
  Overrides:
    `addImpl` in class `Container`
  Parameters:
    `comp` - the `Component` to be enhanced
    `constraints` - the constraints to be respected
    `index` - the index (an integer)
  Throws:
    `Error` - if called with rootPaneCheckingEnabled true
  See Also:
    `setRootPaneCheckingEnabled(boolean)`

### remove

    public void remove(Component comp)

  Removes the specified component from this container.
  Overrides:
    `remove` in class `Container`
  Parameters:
    `comp` - the component to be removed
  See Also:
    `Container.add(java.awt.Component)`

### setLayout

    public void setLayout(LayoutManager manager)

  By default the layout of this component may not be set, the layout of its `contentPane` should be set instead. For example:

       thisComponent.getContentPane().setLayout(new BorderLayout())

  An attempt to set the layout of this component will cause an runtime exception to be thrown if rootPaneCheckingEnabled is true. Subclasses can disable this behavior.
  Overrides:
    `setLayout` in class `Container`
  Parameters:
    `manager` - the `LayoutManager`
  Throws:
    `Error` - if called with rootPaneChecking true
  See Also:
    `setRootPaneCheckingEnabled(boolean)`

### getRootPane

    public JRootPane getRootPane()

  Returns the `rootPane` object for this dialog.
  Specified by:
    `getRootPane` in interface `RootPaneContainer`
  See Also:
    `setRootPane(javax.swing.JRootPane)`, `RootPaneContainer.getRootPane()`

### setRootPane

    protected void setRootPane(JRootPane root)

  Sets the `rootPane` property. This method is called by the constructor.
  Parameters:
    `root` - the `rootPane` object for this dialog
  See Also:
    `getRootPane()`

### getContentPane

    public Container getContentPane()

  Returns the `contentPane` object for this dialog.
  Specified by:
    `getContentPane` in interface `RootPaneContainer`
  Returns:
    the `contentPane` property
  See Also:
    `setContentPane(java.awt.Container)`, `RootPaneContainer.getContentPane()`

### setContentPane

    public void setContentPane(Container contentPane)

  Sets the `contentPane` property. This method is called by the constructor.
  Specified by:
    `setContentPane` in interface `RootPaneContainer`
  Parameters:
    `contentPane` - the `contentPane` object for this dialog
  Throws:
    `IllegalComponentStateException` - (a runtime exception) if the content pane parameter is `null`
  See Also:
    `getContentPane()`, `RootPaneContainer.setContentPane(java.awt.Container)`

### getLayeredPane

    public JLayeredPane getLayeredPane()

  Returns the `layeredPane` object for this dialog.
  Specified by:
    `getLayeredPane` in interface `RootPaneContainer`
  Returns:
    the `layeredPane` property
  See Also:
    `setLayeredPane(javax.swing.JLayeredPane)`, `RootPaneContainer.getLayeredPane()`

### setLayeredPane

    public void setLayeredPane(JLayeredPane layeredPane)

  Sets the `layeredPane` property. This method is called by the constructor.
  Specified by:
    `setLayeredPane` in interface `RootPaneContainer`
  Parameters:
    `layeredPane` - the new `layeredPane` property
  Throws:
    `IllegalComponentStateException` - (a runtime exception) if the layered pane parameter is null
  See Also:
    `getLayeredPane()`, `RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)`

### getGlassPane

    public Component getGlassPane()

  Returns the `glassPane` object for this dialog.
  Specified by:
    `getGlassPane` in interface `RootPaneContainer`
  Returns:
    the `glassPane` property
  See Also:
    `setGlassPane(java.awt.Component)`, `RootPaneContainer.getGlassPane()`

### setGlassPane

    public void setGlassPane(Component glassPane)

  Sets the `glassPane` property. This method is called by the constructor.
  Specified by:
    `setGlassPane` in interface `RootPaneContainer`
  Parameters:
    `glassPane` - the `glassPane` object for this dialog
  See Also:
    `getGlassPane()`, `RootPaneContainer.setGlassPane(java.awt.Component)`

### setLocationRelativeTo

    public void setLocationRelativeTo(Component c)

  Sets the location of the dialog relative to the specified component. If the component is not currently showing, the dialog is centered on the screen.
  Parameters:
    `c` - the component in relation to which the dialog's location is determined

### paramString

    protected String paramString()

  Returns a string representation of this `JDialog`. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.
  Overrides:
    `paramString` in class `Dialog`
  Returns:
    a string representation of this `JDialog`.

### getAccessibleContext

    public AccessibleContext getAccessibleContext()

  Gets the AccessibleContext associated with this JDialog. For JDialogs, the AccessibleContext takes the form of an AccessibleJDialog. A new AccessibleJDialog instance is created if necessary.
  Specified by:
    `getAccessibleContext` in interface `Accessible`
  Overrides:
    `getAccessibleContext` in class `Dialog`
  Returns:
    an AccessibleJDialog that serves as the AccessibleContext of this JDialog

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.