vmm.core
Class SettingsDialog

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 vmm.core.SettingsDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
AnimationLimitsDialog, DocPrefsDialog, LightSettingsDialog, ParameterDialog, Set3DViewOptionsDialog, SetNumberOfFramesDialog, SetTransparencyDialog, SetViewpointDialog, SetXYWindowDialog

public abstract class SettingsDialog
extends javax.swing.JDialog

An abstract base class that can be used as the basis for various settings dialogs. This class provides a dialog box with OK, cancel, and optional defaults button.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JButton applyButton
          One of the buttons that can appear at the bottom of the dialog box.
protected  javax.swing.JPanel buttonBar
          The panel that holds the row of buttons, at the bottom of the dialog box.
protected  javax.swing.JButton cancelButton
          One of the buttons that can appear at the bottom of the dialog box.
protected  boolean canceled
          This variable is set to false when the doCancel() method is called.
protected  javax.swing.JPanel contentPanel
          The content pane of the dialog box.
protected  javax.swing.JButton defaultsButton
          One of the buttons that can appear at the bottom of the dialog box.
protected  javax.swing.JButton okButton
          One of the buttons that can appear at the bottom of the dialog box.
 
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
protected SettingsDialog(java.awt.Component parent, java.lang.String title)
          Create a modal SettingsDialog, containing only the three buttons.
protected SettingsDialog(java.awt.Component parent, java.lang.String title, boolean showDefaultsButton, boolean showApplyButton)
          Create a modal SettingsDialog, containing only two or threebuttons.
 
Method Summary
protected  void addInfoLabel(java.lang.String info)
          Adds a label to the top of the dialog box, above the input panel.
protected  void addInputPanel(javax.swing.JComponent inputPanel)
          Adds the specified panel to the CENTER position of the dialog box.
protected  javax.swing.JPanel borderedPanel(java.lang.String title)
          A convenience method for creating a panel that uses a titled border
protected  javax.swing.JButton defaultsButton()
          Returns the defaults button.
protected  void doApply()
          This is called when the user clicks the Apply button.
protected  void doCancel()
          This is called when the user clicks the Cancel button or closes the dialog box by clicking on its close box.
protected  void doDefaults()
          This will be called when the user clicks the Defaults button (and will never be called if there is no Defaults button).
protected abstract  boolean doOK()
          This is called when the user clicks the OK button.
 
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, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

okButton

protected javax.swing.JButton okButton
One of the buttons that can appear at the bottom of the dialog box.


defaultsButton

protected javax.swing.JButton defaultsButton
One of the buttons that can appear at the bottom of the dialog box.


cancelButton

protected javax.swing.JButton cancelButton
One of the buttons that can appear at the bottom of the dialog box.


applyButton

protected javax.swing.JButton applyButton
One of the buttons that can appear at the bottom of the dialog box.


canceled

protected boolean canceled
This variable is set to false when the doCancel() method is called. Nothing else is done with it in this class.


contentPanel

protected javax.swing.JPanel contentPanel
The content pane of the dialog box. This pane has a BorderLayout, with the panel that contains the buttons in the SOUTH position. The input panel will be added to the CENTER position by the addInputPanel(JComponent) method. A subclass might want to put something in the NORTH, EAST or WEST position.


buttonBar

protected javax.swing.JPanel buttonBar
The panel that holds the row of buttons, at the bottom of the dialog box. Subclasses could add extra buttons to this panel.

Constructor Detail

SettingsDialog

protected SettingsDialog(java.awt.Component parent,
                         java.lang.String title)
Create a modal SettingsDialog, containing only the three buttons. An "input panel" can be added with addInputPanel(JComponent). The dialog box is not shown automatically.

Parameters:
parent - if this component is non-null and is contained in a JFrame, that JFrame becomes the parent of the dialog box
title - the title of the dialog box

SettingsDialog

protected SettingsDialog(java.awt.Component parent,
                         java.lang.String title,
                         boolean showDefaultsButton,
                         boolean showApplyButton)
Create a modal SettingsDialog, containing only two or threebuttons. An "input panel" can be added with addInputPanel(JComponent). The dialog box is not shown automatically.

Parameters:
parent - if this component is non-null and is contained in a JFrame, that JFrame becomes the parent of the dialog box
title - the title of the dialog box
showDefaultsButton - if true, a Defaults button is added; if false, it is not added
showApplyButton - if ture, an Apply button is added
Method Detail

addInputPanel

protected void addInputPanel(javax.swing.JComponent inputPanel)
Adds the specified panel to the CENTER position of the dialog box. This method should be called before the panel is shown. This panel will contain all the input components to get data from the user.


addInfoLabel

protected void addInfoLabel(java.lang.String info)
Adds a label to the top of the dialog box, above the input panel. This method should be called befor the panel is shown.

Parameters:
info - the text to be shown on the label. This is passed to the constructor for JLabel and so can be html-formated text.

defaultsButton

protected javax.swing.JButton defaultsButton()
Returns the defaults button. This is meant to be used in cases where the defaults button is not added to the dialog box in the constructor, to retrieve the defaults button so it can be used in the input panel instead.


borderedPanel

protected javax.swing.JPanel borderedPanel(java.lang.String title)
A convenience method for creating a panel that uses a titled border

Parameters:
title - the title for the titled border

doDefaults

protected void doDefaults()
This will be called when the user clicks the Defaults button (and will never be called if there is no Defaults button). The method in the SettingsDialog class does nothing.


doCancel

protected void doCancel()
This is called when the user clicks the Cancel button or closes the dialog box by clicking on its close box. It sets the protected variable "canceled" to true and disposed of the window. It is probably not necessary to override this method.


doApply

protected void doApply()
This is called when the user clicks the Apply button. The method in the SettingsDialog class simply calls doOK() and ignores the return value. Presumably, this will get the data from the dialog and apply it if it is legal, but will leave the dialog box on the screen.


doOK

protected abstract boolean doOK()
This is called when the user clicks the OK button. The return value indicates whether the dialog should be disposed of. If the return value is true, the dialog is disposed. If the return value is false, the dialog stays on the screen. Presumably, the return value will be false when the data entered by the user is not legal.