|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Dialog javax.swing.JDialog
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 principle 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.
In a multi-screen environment, you can create a JDialog
on a different screen device than its owner. See Frame
for
more information.
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. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans
package.
Please see XMLEncoder
.
JOptionPane
,
JRootPane
,
Serialized FormNested Class Summary | |
protected class |
JDialog.AccessibleJDialog
This class implements accessibility support for the JDialog class. |
Nested classes inherited from class java.awt.Dialog |
Dialog.AccessibleAWTDialog |
Nested classes inherited from class java.awt.Window |
Window.AccessibleAWTWindow |
Nested classes inherited from class java.awt.Container |
Container.AccessibleAWTContainer |
Nested classes inherited from class java.awt.Component |
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
protected javax.accessibility.AccessibleContext |
accessibleContext
|
private int |
defaultCloseOperation
|
private static Object |
defaultLookAndFeelDecoratedKey
Key into the AppContext, used to check if should provide decorations by default. |
protected JRootPane |
rootPane
|
protected boolean |
rootPaneCheckingEnabled
|
Fields inherited from class java.awt.Dialog |
|
Fields inherited from class java.awt.Window |
|
Fields inherited from class java.awt.Container |
|
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, EXIT_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 specified 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(Dialog owner,
String title,
boolean modal,
GraphicsConfiguration gc)
Creates a modal or non-modal dialog with the specified title, owner Dialog , and GraphicsConfiguration .
|
|
JDialog(Frame owner)
Creates a non-modal dialog without a title with the specified 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 . |
|
JDialog(Frame owner,
String title,
boolean modal,
GraphicsConfiguration gc)
Creates a modal or non-modal dialog with the specified title, owner Frame , and GraphicsConfiguration .
|
Method Summary | |
protected void |
addImpl(Component comp,
Object constraints,
int index)
By default, children may not be added directly to this component, they must be added to its contentPane instead.
|
protected JRootPane |
createRootPane()
Called by the constructor methods to create the default rootPane . |
private Error |
createRootPaneException(String op)
Creates a message that can be used as a runtime exception. |
protected void |
dialogInit()
Called by the constructors to init the JDialog properly. |
javax.accessibility.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. |
static boolean |
isDefaultLookAndFeelDecorated()
Returns true if newly created JDialog s should have their
Window decorations provided by the current look and feel. |
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 |
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. |
static void |
setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
Provides a hint as to whether or not newly created JDialog s
should have their Window decorations (such as borders, widgets to
close the window, title...) provided by the current look
and feel. |
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.
|
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, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final Object defaultLookAndFeelDecoratedKey
private int defaultCloseOperation
protected JRootPane rootPane
getRootPane()
,
setRootPane(javax.swing.JRootPane)
protected boolean rootPaneCheckingEnabled
isRootPaneCheckingEnabled()
,
setRootPaneCheckingEnabled(boolean)
protected javax.accessibility.AccessibleContext accessibleContext
Constructor Detail |
public JDialog() throws HeadlessException
Frame
owner. A shared, hidden frame will be
set as the owner of the dialog.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner) throws HeadlessException
Frame
as its owner. If owner
is null
, a shared, hidden frame will be set as the
owner of the dialog.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the Frame
from which the dialog is displayed
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, boolean modal) throws HeadlessException
Frame
. If owner
is null
, a shared, hidden frame will be set as the
owner of the dialog.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the Frame
from which the dialog is displayedmodal
- true for a modal dialog, false for one that allows
others windows to be active at the same time
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, String title) throws HeadlessException
owner
is null
, a shared, hidden frame will be set as the
owner of the dialog.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the Frame
from which the dialog is displayedtitle
- the String
to display in the dialog's
title bar
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, String title, boolean modal) throws HeadlessException
Frame
. If owner
is null
, a shared, hidden frame will be set as the
owner of this dialog. All constructors defer to this one.
NOTE: Any popup components (JComboBox
,
JPopupMenu
, JMenuBar
)
created within a modal dialog will be forced to be lightweight.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the Frame
from which the dialog is displayedtitle
- the String
to display in the dialog's
title barmodal
- true for a modal dialog, false for one that allows
other windows to be active at the same time
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc)
Frame
, and GraphicsConfiguration
.
NOTE: Any popup components (JComboBox
,
JPopupMenu
, JMenuBar
)
created within a modal dialog will be forced to be lightweight.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the Frame
from which the dialog is displayedtitle
- the String
to display in the dialog's
title barmodal
- true for a modal dialog, false for one that allows
other windows to be active at the same timegc
- the GraphicsConfiguration
of the target screen device. If gc
is
null
, the same
GraphicsConfiguration
as the owning Frame is used.
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner) throws HeadlessException
Dialog
as its owner.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the non-null Dialog
from which the dialog is displayed
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, boolean modal) throws HeadlessException
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the non-null Dialog
from which the dialog is displayedmodal
- true for a modal dialog, false for one that allows
other windows to be active at the same time
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, String title) throws HeadlessException
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the non-null Dialog
from which the dialog is displayedtitle
- the String
to display in the dialog's
title bar
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, String title, boolean modal) throws HeadlessException
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the non-null Dialog
from which the dialog is displayedtitle
- the String
to display in the dialog's
title barmodal
- true for a modal dialog, false for one that allows
other windows to be active at the same time
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns true.GraphicsEnvironment.isHeadless()
,
JComponent.getDefaultLocale()
public JDialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) throws HeadlessException
Dialog
, and GraphicsConfiguration
.
NOTE: Any popup components (JComboBox
,
JPopupMenu
, JMenuBar
)
created within a modal dialog will be forced to be lightweight.
This constructor sets the component's locale property to the value
returned by JComponent.getDefaultLocale
.
owner
- the Dialog
from which the dialog is displayedtitle
- the String
to display in the dialog's
title barmodal
- true for a modal dialog, false for one that allows
other windows to be active at the same timegc
- the GraphicsConfiguration
of the target screen device. If gc
is
null
, the same
GraphicsConfiguration
as the owning Dialog is used.
HeadlessException
- if GraphicsEnvironment.isHeadless()GraphicsEnvironment.isHeadless()
,
returns true.
Method Detail |
protected void dialogInit()
JDialog
properly.
protected JRootPane createRootPane()
rootPane
.
protected void processWindowEvent(WindowEvent e)
defaultCloseOperation
property.
processWindowEvent
in class Window
e
- the window eventsetDefaultCloseOperation(int)
public void setDefaultCloseOperation(int operation)
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.
Note: When the last displayable window within the Java virtual machine (VM) is disposed of, the VM may terminate. See AWT Threading Issues for more information.
Window.addWindowListener(java.awt.event.WindowListener)
,
getDefaultCloseOperation()
public int getDefaultCloseOperation()
setDefaultCloseOperation(int)
public void update(Graphics g)
paint(g)
. This method was overridden to
prevent an unnecessary call to clear the background.
update
in class Container
g
- the Graphics
context in which to paintComponent.update(Graphics)
public void setJMenuBar(JMenuBar menu)
menu
- the menubar being placed in the dialoggetJMenuBar()
public JMenuBar getJMenuBar()
setJMenuBar(javax.swing.JMenuBar)
protected boolean isRootPaneCheckingEnabled()
add
and setLayout
should be checked.
add
and setLayout
should
be checkedaddImpl(java.awt.Component, java.lang.Object, int)
,
setLayout(java.awt.LayoutManager)
,
setRootPaneCheckingEnabled(boolean)
protected void setRootPaneCheckingEnabled(boolean enabled)
add
and setLayout
will cause an exception to be thrown.
addImpl(java.awt.Component, java.lang.Object, int)
,
setLayout(java.awt.LayoutManager)
,
isRootPaneCheckingEnabled()
private Error createRootPaneException(String op)
"Do not use JDialog.add() use JDialog.getContentPane().add() instead"
op
- a String
containing the attempted operation
Error
containing the constructed stringprotected void addImpl(Component comp, Object constraints, int index)
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.
addImpl
in class Container
comp
- the Component
to be enhancedconstraints
- the constraints to be respectedindex
- the index (an integer)
Error
- if called with rootPaneCheckingEnabled truesetRootPaneCheckingEnabled(boolean)
public void remove(Component comp)
remove
in class Container
comp
- the component to be removedContainer.add(java.awt.Component)
public void setLayout(LayoutManager manager)
contentPane
should be set instead.
For example:
thisComponent.getContentPane().setLayout(new GridLayout(1, 2))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.
setLayout
in class Container
manager
- the LayoutManager
Error
- if called with rootPaneChecking truesetRootPaneCheckingEnabled(boolean)
public JRootPane getRootPane()
rootPane
object for this dialog.
getRootPane
in interface RootPaneContainer
setRootPane(javax.swing.JRootPane)
,
RootPaneContainer.getRootPane()
protected void setRootPane(JRootPane root)
rootPane
property.
This method is called by the constructor.
root
- the rootPane
object for this dialoggetRootPane()
public Container getContentPane()
contentPane
object for this dialog.
getContentPane
in interface RootPaneContainer
contentPane
propertysetContentPane(java.awt.Container)
,
RootPaneContainer.getContentPane()
public void setContentPane(Container contentPane)
contentPane
property.
This method is called by the constructor.
Swing's painting architecture requires an opaque JComponent
in the containment hiearchy. This is typically provided by the
content pane. If you replace the content pane it is recommended you
replace it with an opaque JComponent
.
setContentPane
in interface RootPaneContainer
contentPane
- the contentPane
object for this dialog
IllegalComponentStateException
- (a runtime
exception) if the content pane parameter is null
JRootPane
,
getContentPane()
,
RootPaneContainer.setContentPane(java.awt.Container)
public JLayeredPane getLayeredPane()
layeredPane
object for this dialog.
getLayeredPane
in interface RootPaneContainer
layeredPane
propertysetLayeredPane(javax.swing.JLayeredPane)
,
RootPaneContainer.getLayeredPane()
public void setLayeredPane(JLayeredPane layeredPane)
layeredPane
property.
This method is called by the constructor.
setLayeredPane
in interface RootPaneContainer
layeredPane
- the new layeredPane
property
IllegalComponentStateException
- (a runtime
exception) if the layered pane parameter is nullgetLayeredPane()
,
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
public Component getGlassPane()
glassPane
object for this dialog.
getGlassPane
in interface RootPaneContainer
glassPane
propertysetGlassPane(java.awt.Component)
,
RootPaneContainer.getGlassPane()
public void setGlassPane(Component glassPane)
glassPane
property.
This method is called by the constructor.
setGlassPane
in interface RootPaneContainer
glassPane
- the glassPane
object for this dialoggetGlassPane()
,
RootPaneContainer.setGlassPane(java.awt.Component)
public static void setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
JDialog
s
should have their Window decorations (such as borders, widgets to
close the window, title...) provided by the current look
and feel. If defaultLookAndFeelDecorated
is true,
the current LookAndFeel
supports providing window
decorations, and the current window manager supports undecorated
windows, then newly created JDialog
s will have their
Window decorations provided by the current LookAndFeel
.
Otherwise, newly created JDialog
s will have their
Window decorations provided by the current window manager.
You can get the same effect on a single JDialog by doing the following:
JDialog dialog = new JDialog(); dialog.setUndecorated(true); dialog.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
defaultLookAndFeelDecorated
- A hint as to whether or not current
look and feel should provide window decorationsLookAndFeel.getSupportsWindowDecorations()
public static boolean isDefaultLookAndFeelDecorated()
JDialog
s should have their
Window decorations provided by the current look and feel. This is only
a hint, as certain look and feels may not support this feature.
protected String paramString()
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
.
paramString
in class Dialog
JDialog
.public javax.accessibility.AccessibleContext getAccessibleContext()
getAccessibleContext
in interface javax.accessibility.Accessible
getAccessibleContext
in class Dialog
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |