org.ceryle.ui
Class AskDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.ceryle.ui.AskDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class AskDialog
extends JDialog

Extends JDialog providing a set of dialog buttons for making a multiple-option decision, with an optional checkbox. This is similar to OptionDialog, but is simpler and optionally includes the checkbox, typically used for a "Don't ask me again" option.

The supplied options are supplied as a List of Strings. The returned value is obtained as an Object array of two values, one the Boolean value of the checkbox, the second an Integer, the numerical value of the selected option. If the button names include 'Yes' and 'No', their mnemonic shortcuts will be set. Unfortunately, an internationalized solution for this feature doesn't seem to be possible, though these Strings are set via the localized ResourceBundle.

There are two static utility methods - HTML markup may be used for styling:

   void msg( String title, String message );
   boolean ask( String title, String message )
 

Since:
JDK1.3
Version:
$Id: AskDialog.java,v 3.18 2007-06-20 01:28:15 altheim Exp $
Author:
Murray Altheim
See Also:
Serialized Form

Nested Class Summary
 class AskDialog.DialogDisposer
           
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int BTN_WIDTH
          The per-button preferred width of the dialog.
static boolean SET_DEFAULT
          When true, the first button is set as the default.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, 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, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AskDialog(JFrame frame, String title, String message, List options)
          Constructor for a modal dialog box for selecting amongst a group of dialog buttons.
AskDialog(JFrame frame, String title, String message, List options, String checkLabel, boolean checked)
          Constructor for a modal dialog box for selecting amongst a group of dialog buttons.
 
Method Summary
static boolean ask(String title, String message)
          Displays a dialog containing the String message with 'yes' or 'no' options.
static int askAllowCancel(String title, String message)
          Displays a dialog containing the String message with 'yes' 'no', or 'cancel' options.
 Object[] getSelected()
          Returns an Object array containing a Boolean (the value of the "Don't Ask Again" checkbox) and an Integer, the latter the number of the selected option (beginning with zero, not one).
 int getSelectedValue()
          Returns an int indicating the selected value.
static void msg(String title, String message)
          Displays a message dialog containing the String message.
 void setVisible(boolean visible)
          Overrides the superclass to additionally re-set the graph display priority.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class 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, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SET_DEFAULT

public static boolean SET_DEFAULT
When true, the first button is set as the default.


BTN_WIDTH

public static int BTN_WIDTH
The per-button preferred width of the dialog. This value is multipled by the number of buttons to obtain the minimum width. The default is 100.

Constructor Detail

AskDialog

public AskDialog(JFrame frame,
                 String title,
                 String message,
                 List options)
Constructor for a modal dialog box for selecting amongst a group of dialog buttons. No checkbox option is provided.

Parameters:
frame - the parent frame (optional, will use Desktop if null)
title - the dialog title
message - the message or question
options - the List of Strings

AskDialog

public AskDialog(JFrame frame,
                 String title,
                 String message,
                 List options,
                 String checkLabel,
                 boolean checked)
Constructor for a modal dialog box for selecting amongst a group of dialog buttons. If the checkbox label is non-null, a checkbox will be added along the bottom left of the dialog. Since the dialog was designed to be used statically, the result of the "Don't Ask Again" checkbox can be ascertained after calling the dialog using the first element (a Boolean) returned by the static method getSelected().

Parameters:
frame - the parent frame (optional, will use Desktop if null)
title - the dialog title
message - the message or question
options - the List of Strings
checkLabel - the label of the optional checkbox
checked - the initial setting of the optional checkbox
Method Detail

msg

public static void msg(String title,
                       String message)
Displays a message dialog containing the String message.


ask

public static boolean ask(String title,
                          String message)
Displays a dialog containing the String message with 'yes' or 'no' options. The user's choice is returned as a boolean.


askAllowCancel

public static int askAllowCancel(String title,
                                 String message)
Displays a dialog containing the String message with 'yes' 'no', or 'cancel' options. The user's choice is returned as a 0, 1, or 2, respectively.


getSelected

public Object[] getSelected()
Returns an Object array containing a Boolean (the value of the "Don't Ask Again" checkbox) and an Integer, the latter the number of the selected option (beginning with zero, not one).


getSelectedValue

public int getSelectedValue()
Returns an int indicating the selected value. This does not provide for a result of the optional checkbox.


setVisible

public void setVisible(boolean visible)
Overrides the superclass to additionally re-set the graph display priority.

Overrides:
setVisible in class Component


The Ceryle Project. Copyright ©2001-2007 Murray Altheim, All Rights Reserved. See LICENSE included with distribution.