O
- tne type of an additional object used to create the dialogpublic abstract class GenericDialog<O> extends JComponent
createPanel()
method, which allows to create the main panel
of the dialog.showDialog()
MyDialog dialog = new MyDialog(parent); dialog.setDialogTitle("My Dialog"); int ret = dialog.showDialog(); if (ret == JFileChooser.APPROVE_OPTION) { ... do something }
createPanel()
method, which allows to create the main panel of the dialog. In this case, the dialog will
present:
setYesNoLabels(java.lang.String, java.lang.String)
). It is possible to change the behavior when clicking these buttons by overriding the
doYes()
or doCancel()
methods.
A more advanced derivation is by creating a different bottom panel (see createYesNoPanel()
). It is also possible to add a menuBar to the dialog.Modifier and Type | Class and Description |
---|---|
static class |
GenericDialog.DialogAdapter
A default implementation for a Dialog listener which will be fired if the dialog is applied (if clicking on "Yes") or cancelled (if clicking on "Cancel"
or closing the window without applying the dialog).
|
static interface |
GenericDialog.DialogListener
An interface for Dialog listener which will be fired if the dialog is applied (if clicking on "Yes") or cancelled (if clicking on "Cancel" or closing the
window without applying the dialog).
|
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected AbstractAction |
cancelAction
The action associated with the default "No" button.
|
protected JDialog |
dialog
The internal dialog.
|
protected Point |
dialogLocation
The location of the dialog.
|
protected JFrame |
frame
The internal dialog associated frame.
|
protected String |
noLabel
The "No" Label.
|
protected O |
object
An additional object used to create the dialog.
|
protected String |
okLabel
The "Ok" Label.
|
protected int |
returnValue
The return value.
|
protected AbstractAction |
yesAction
The action associated with the default "Yes" button.
|
protected String |
yesLabel
The "Yes" Label.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
GenericDialog()
Constructor.
|
GenericDialog(boolean isModal)
Constructor.
|
GenericDialog(O object,
boolean isModal)
Constructor.
|
GenericDialog(String title)
Constructor, with a title.
|
GenericDialog(String title,
boolean isModal)
Constructor, with a title.
|
GenericDialog(String title,
Component parent,
boolean isModal)
Constructor, with a title, a dialog owner, and a modality.
|
GenericDialog(String title,
Component parent,
O object,
boolean isModal)
Constructor, with a title, a dialog owner, and a modality.
|
GenericDialog(String title,
O object)
Constructor, with a title.
|
Modifier and Type | Method and Description |
---|---|
void |
addDialogListener(GenericDialog.DialogListener listener)
Set a dialog listener which will be fired if the dialog is applied (if clicking on "Yes") or cancelled (if clicking on "Cancel" or closing the window
without applying the dialog).
|
protected void |
apply()
Called when applying the dialog.
|
void |
applyBeforeShowingDialog(Component parent)
Called before the dialog is shown.
|
protected void |
applyDialogSizeAndPosition()
Apply thz size and position of the dialog.
|
protected void |
cancel()
Called when cancelling the dialog.
|
protected JDialog |
createDialog(Component parent)
Create the dialog, as a child of its parent owner.
|
protected JDialog |
createDialog(Component parent,
boolean modal)
Create the dialog as a JDialog, as a child of its parent owner.
|
protected JFrame |
createFrame(Component parent)
Create the dialog as a JFrame, as a child of its parent owner.
|
protected JPanel |
createOKPanel()
Create the Yes Panel, which is part of the Yes / No panel.
|
protected abstract void |
createPanel()
The method to implement to create the main panel of the dialog.
|
protected JPanel |
createYesNoPanel()
Create the Yes / No bottom Panel.
|
void |
dispose()
Dispose the underlying dialog.
|
protected void |
doCancel()
Called when clicking the default "No" button.
|
protected void |
doYes()
Called when clicking the default "Yes" button.
|
AbstractAction |
getCancelAction()
Return the action associated with the default "No" button.
|
JDialog |
getDialog()
Return the dialog.
|
List<GenericDialog.DialogListener> |
getDialogListeners()
Return the Dialog listeners which will be fired if the dialog is applied or cancelled.
|
Point |
getDialogLocation()
Return the dialog location.
|
JFrame |
getFrame()
Return the dialog Frame.
|
JMenuBar |
getJMenuBar()
Return the MenuBar to use with this Dialog (may be null).
|
int |
getReturnValue()
Return the last value of the dialog return value.
|
AbstractAction |
getYesAction()
Return the action associated with the default "Yes" button.
|
boolean |
isAlwaysOnTop()
Return true if this dialog should always be above other windows.
|
boolean |
isModal()
Return the modality of the dialog.
|
void |
removeDialogListener(GenericDialog.DialogListener listener)
Remove a dialog listener.
|
void |
setAlwaysOnTop(boolean alwaysOnTop)
Sets whether this dialog should always be above other windows.
|
void |
setDialogLocation(Point location)
Set the dialog location.
|
void |
setDialogTitle(String title)
Set the title of the Dialog.
|
void |
setJMenuBar(JMenuBar menus)
Set a MenuBar to use with this Dialog.
|
void |
setModal(boolean isModal)
Set the modality of the dialog.
|
void |
setOKLabel(String okLabel)
Set the labels for the OK buttons in the default exit panel.
|
void |
setResizable(boolean isResizable)
Set if the Dialog panel is resizable.
|
void |
setYesNoLabels(String yesLabel,
String noLabel)
Set the labels for the Yes / No buttons in the default exit panel.
|
int |
showDialog()
Show the dialog.
|
int |
showDialog(Component parent)
Show the dialog.
|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected JDialog dialog
protected JFrame frame
protected String yesLabel
protected String okLabel
protected String noLabel
protected AbstractAction yesAction
protected AbstractAction cancelAction
protected int returnValue
protected Point dialogLocation
protected O object
public GenericDialog()
public GenericDialog(boolean isModal)
isModal
- true if the dialog is modalpublic GenericDialog(O object, boolean isModal)
object
- an additional object used to create the dialogisModal
- true if the dialog is modalpublic GenericDialog(String title, Component parent, boolean isModal)
title
- the titleparent
- the dialog owner, may be a heavyweight component (like a JFrame), or a smallweight one, the class will automatically look for the
heavyweight rootisModal
- true if the dialog is modalpublic GenericDialog(String title, Component parent, O object, boolean isModal)
title
- the titleparent
- the dialog owner, may be a heavyweight component (like a JFrame), or a smallweight one, the class will automatically look for the
heavyweight rootobject
- an additional object used to create the dialogisModal
- true if the dialog is modalpublic GenericDialog(String title)
title
- the titlepublic GenericDialog(String title, O object)
title
- the titleobject
- an additional object used to create the dialogpublic GenericDialog(String title, boolean isModal)
title
- the titleisModal
- true if the dialog is modalpublic void setDialogTitle(String title)
title
- the Dialog titlepublic void setJMenuBar(JMenuBar menus)
menus
- the MenuBarpublic void setModal(boolean isModal)
isModal
- true if the dialog is modalpublic boolean isModal()
public void setAlwaysOnTop(boolean alwaysOnTop)
alwaysOnTop
- true if this dialog should always be above other windowspublic boolean isAlwaysOnTop()
public final JMenuBar getJMenuBar()
public final void setDialogLocation(Point location)
location
- the dialog locationpublic final Point getDialogLocation()
public void addDialogListener(GenericDialog.DialogListener listener)
listener
- the dialog listenerpublic void removeDialogListener(GenericDialog.DialogListener listener)
listener
- the dialog listenerpublic List<GenericDialog.DialogListener> getDialogListeners()
public JDialog getDialog()
public JFrame getFrame()
public void dispose()
public void setResizable(boolean isResizable)
isResizable
- true if the Dialog panel is resizablepublic void setYesNoLabels(String yesLabel, String noLabel)
yesLabel
- the label for the Yes buttonnoLabel
- the label for the No buttonpublic void setOKLabel(String okLabel)
okLabel
- the label for the OK buttonprotected final JFrame createFrame(Component parent)
public MyDialog(String title, Component parent) { this(title); this.createFrame(parent); }
parent
- the dialog owner (may be null)protected JDialog createDialog(Component parent)
parent
- the dialog owner (may be null)protected final JDialog createDialog(Component parent, boolean modal)
parent
- the dialog owner (may be null)modal
- true if the dialog is modalprotected void applyDialogSizeAndPosition()
protected JPanel createOKPanel()
protected JPanel createYesNoPanel()
public AbstractAction getYesAction()
public AbstractAction getCancelAction()
protected abstract void createPanel()
Container pane = dialog.getContentPane(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); pane.add(new JLabel("MyText"); pane.add(Box.createRigidArea(new Dimension(50, 20))); JPanel yesnopanel = this.createYesNoPanel(); pane.add(yesnopanel);
public int showDialog(Component parent)
parent
- the parent componentpublic void applyBeforeShowingDialog(Component parent)
parent
- the parent componentpublic int showDialog()
public final int getReturnValue()
protected void apply()
protected void cancel()
protected void doYes()
protected void doCancel()