public class ExtendedDialog
extends javax.swing.JDialog
ExtendedDialog ed = new ExtendedDialog(
Main.parent, tr("Dialog Title"),
new String[] {tr("Ok"), tr("Cancel")});
ed.setButtonIcons(new String[] {"ok", "cancel"}); // optional
ed.setIcon(JOptionPane.WARNING_MESSAGE); // optional
ed.setContent(tr("Really proceed? Interesting things may happen..."));
ed.showDialog();
if (ed.getValue() == 1) { // user clicked first button "Ok"
// proceed...
}
javax.swing.JDialog.AccessibleJDialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
protected java.util.ArrayList<javax.swing.JButton> |
buttons |
protected java.awt.Insets |
contentInsets |
protected javax.swing.JButton |
defaultButton |
static int |
DialogClosedOtherwise |
accessibleContext, rootPane, rootPaneCheckingEnabled
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
ExtendedDialog(java.awt.Component parent,
java.lang.String title,
java.lang.String[] buttonTexts)
This method sets up the most basic options for the dialog.
|
ExtendedDialog(java.awt.Component parent,
java.lang.String title,
java.lang.String[] buttonTexts,
boolean modal)
Same as above but lets you define if the dialog should be modal.
|
ExtendedDialog(java.awt.Component parent,
java.lang.String title,
java.lang.String[] buttonTexts,
boolean modal,
boolean disposeOnClose) |
Modifier and Type | Method and Description |
---|---|
protected void |
buttonAction(int buttonIndex,
java.awt.event.ActionEvent evt)
This gets performed whenever a button is clicked or activated
|
ExtendedDialog |
configureContextsensitiveHelp(java.lang.String helpTopic,
boolean showHelpButton)
Configures how this dialog support for context sensitive help.
|
protected java.awt.Dimension |
findMaxDialogSize()
Tries to find a good value of how large the dialog should be
|
protected void |
fixFocus()
Don't focus the "do not show this again" check box, but the default button.
|
int |
getValue() |
ExtendedDialog |
setButtonIcons(javax.swing.Icon[] buttonIcons)
Allows decorating the buttons with icons.
|
ExtendedDialog |
setButtonIcons(java.lang.String[] buttonIcons)
Convenience method to provide image names instead of images.
|
ExtendedDialog |
setCancelButton(java.lang.Integer... cancelButtonIdx)
Used in combination with toggle:
If the user presses 'cancel' the toggle settings are ignored and not saved to the pref
|
ExtendedDialog |
setContent(java.awt.Component content)
Sets the content that will be displayed in the message dialog.
|
ExtendedDialog |
setContent(java.awt.Component content,
boolean placeContentInScrollPane)
Sets the content that will be displayed in the message dialog.
|
ExtendedDialog |
setContent(java.lang.String message)
Sets the message that will be displayed.
|
ExtendedDialog |
setDefaultButton(int defaultButtonIdx)
Sets the button that will react to ENTER.
|
ExtendedDialog |
setIcon(javax.swing.Icon icon)
Decorate the dialog with an icon that is shown on the left part of
the window area.
|
ExtendedDialog |
setIcon(int messageType)
Convenience method to allow values that would be accepted by JOptionPane as messageType.
|
ExtendedDialog |
setRememberWindowGeometry(java.lang.String pref,
org.openstreetmap.josm.tools.WindowGeometry wg)
Call this if you want the dialog to remember the size set by the user.
|
ExtendedDialog |
setToggleCheckboxText(java.lang.String text)
Overwrites the default "Don't show again" text of the toggle checkbox
if you want to give more information.
|
ExtendedDialog |
setToolTipTexts(java.lang.String[] toolTipTexts)
Allows decorating the buttons with tooltips.
|
void |
setupDialog()
This is called by showDialog().
|
void |
setVisible(boolean visible)
Override setVisible to be able to save the window geometry if required
|
ExtendedDialog |
showDialog()
Show the dialog to the user.
|
ExtendedDialog |
toggleDisable()
Call this if you "accidentally" called toggleEnable.
|
ExtendedDialog |
toggleEnable(java.lang.String togglePref)
Calling this will offer the user a "Do not show again" checkbox for the
dialog.
|
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final int DialogClosedOtherwise
protected javax.swing.JButton defaultButton
protected java.awt.Insets contentInsets
protected java.util.ArrayList<javax.swing.JButton> buttons
public ExtendedDialog(java.awt.Component parent, java.lang.String title, java.lang.String[] buttonTexts)
setButtonIcons
setContent
toggleEnable
toggleDisable
setToggleCheckboxText
setRememberWindowGeometry
showDialog
to display it. You can receive
the user's choice using getValue
. Have a look at this function
for possible return values.parent
- The parent element that will be used for position and maximum sizetitle
- The text that will be shown in the window titlebarbuttonTexts
- String Array of the text that will appear on the buttons. The first button is the default one.public ExtendedDialog(java.awt.Component parent, java.lang.String title, java.lang.String[] buttonTexts, boolean modal)
public ExtendedDialog(java.awt.Component parent, java.lang.String title, java.lang.String[] buttonTexts, boolean modal, boolean disposeOnClose)
public ExtendedDialog setButtonIcons(javax.swing.Icon[] buttonIcons)
buttonIcons
- public ExtendedDialog setButtonIcons(java.lang.String[] buttonIcons)
public ExtendedDialog setToolTipTexts(java.lang.String[] toolTipTexts)
toolTipTexts
- the tool tip texts. Ignored, if null.public ExtendedDialog setContent(java.awt.Component content)
content
- Any element that can be displayed in the message dialogpublic ExtendedDialog setContent(java.awt.Component content, boolean placeContentInScrollPane)
content
- Any element that can be displayed in the message dialogplaceContentInScrollPane
- if true, places the content in a JScrollPanepublic ExtendedDialog setContent(java.lang.String message)
message
- The text that should be shown to the userpublic ExtendedDialog setIcon(javax.swing.Icon icon)
public ExtendedDialog setIcon(int messageType)
public ExtendedDialog showDialog()
getValue
public int getValue()
public void setupDialog()
protected void buttonAction(int buttonIndex, java.awt.event.ActionEvent evt)
evt
- the button eventprotected java.awt.Dimension findMaxDialogSize()
public void setVisible(boolean visible)
setVisible
in class java.awt.Dialog
public ExtendedDialog setRememberWindowGeometry(java.lang.String pref, org.openstreetmap.josm.tools.WindowGeometry wg)
null
or to an empty string to disable again.
By default, it's disabled.
Note: If you want to set the width of this dialog directly use the usual
setSize, setPreferredSize, setMaxSize, setMinSizepref
- The preference to save the dimension towg
- The default window geometry that should be used if no
existing preference is found (only takes effect if
pref
is not null or emptypublic ExtendedDialog toggleEnable(java.lang.String togglePref)
togglePref
- The preference to save the checkbox state topublic ExtendedDialog toggleDisable()
public ExtendedDialog setToggleCheckboxText(java.lang.String text)
toggleEnable
is set.text
- public ExtendedDialog setDefaultButton(int defaultButtonIdx)
public ExtendedDialog setCancelButton(java.lang.Integer... cancelButtonIdx)
cancelButton
- index of the button that stands for cancel, accepts
multiple valuesprotected void fixFocus()
public ExtendedDialog configureContextsensitiveHelp(java.lang.String helpTopic, boolean showHelpButton)
helpTopic
- the help topicshowHelpButton
- true, if the dialog displays a help button