org.ka2ddo.yaac.gui.genericwizard
Class AbstractWizardCard

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.ka2ddo.yaac.gui.genericwizard.AbstractWizardCard
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
ConfigBeacon, ConfigPort, ConfigPortList, ConfigStationLocation, ConfigStationType, StartConfigWizard

public abstract class AbstractWizardCard
extends javax.swing.JPanel

This class defines the infrastructure for a card panel within a wizard. Wizards cycle through a logically ordered series of panels to guide the user in conducting a complex multi-step operation. Subclasses of AbstractWizardCard define instances of such a panel, and are designed to be displayed within a WizardPanel, which provides the infrastructure to step through the series of cards.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected AbstractWizardCard()
          Create a wizard card with the default layout manager.
protected AbstractWizardCard(java.awt.LayoutManager layout)
          Create a wizard card with a specific LayoutManager.
 
Method Summary
abstract  boolean allowsBack()
          Specify whether this card should allow the Back button to work in the wizard.
abstract  boolean allowsFinish()
          Specify whether this card should allow the Finish button to work in the wizard.
abstract  boolean allowsNext()
          Specify whether this card should allow the Next button to work in the wizard.
 void cardAdded(boolean byNext)
          Called by WizardPanel when this card is first displayed in the wizard, so any additional context-specific initialization can be done that requires the card to be installed into a valid Window-rooted AWT hierarchy.
 void cardRemoved(boolean byNext)
          Called by WizardPanel when this card is taken down from this wizard, so any cleanup and closure for this panel can be done.
protected  void fireBackUpdated()
          Can be called by subclasses when the wizard's Back button's enabled state should be changed.
protected  void fireFinishUpdated()
          Can be called by subclasses when the wizard's Finish button's enabled state should be changed.
protected  void fireNextUpdated()
          Can be called by subclasses when the wizard's Next button's enabled state should be changed.
 java.lang.String getHelpTag()
          Return the tag into the YAACHelpMap.jhm file for displaying help for this card if the Help button is clicked.
 AbstractWizardCard getNextCard()
          Get the AbstractWizardCard instance that should be displayed when the user clicks the Next button.
 AbstractWizardCard getPreviousCard()
          Get the AbstractWizardCard instance that should be displayed when the user clicks the Back button.
 java.lang.String getTitleTag()
          Returns the tag into the localized ResourceBundles for the text to be displayed as the dialog title for this wizard card.
protected static java.awt.GridBagConstraints makeGBC(int x, int y)
          Convenience method to help build GridBagConstraints for a wizard card laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.
protected static java.awt.GridBagConstraints makeGBC(int x, int y, int anchor)
          Convenience method to help build GridBagConstraints for a wizard card laid out with GridBagLayout, creating a cell position for a 1x1 cell with arbitrarily-aligned contents, weighted equally.
protected static java.awt.GridBagConstraints makeGBC(int x, int y, int anchor, int w)
          Convenience method to help build GridBagConstraints for a wizard card laid out with GridBagLayout, creating a cell position for a wx1 cell with arbitrarily-aligned contents, weighted equally.
 void setWizardPanel(WizardPanel wp)
           
protected  void switchToArbitraryCard(AbstractWizardCard nextCard)
          Tell the WizardPanel to change to an arbitrary different card.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
Methods inherited from class java.awt.Container
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, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractWizardCard

protected AbstractWizardCard(java.awt.LayoutManager layout)
Create a wizard card with a specific LayoutManager.

Parameters:
layout - LayoutManager to use for this card

AbstractWizardCard

protected AbstractWizardCard()
Create a wizard card with the default layout manager.

Method Detail

allowsNext

public abstract boolean allowsNext()
Specify whether this card should allow the Next button to work in the wizard.

Returns:
boolean true if the Next button should be enabled
See Also:
fireNextUpdated()

allowsBack

public abstract boolean allowsBack()
Specify whether this card should allow the Back button to work in the wizard.

Returns:
boolean true if the Back button should be enabled
See Also:
fireBackUpdated()

allowsFinish

public abstract boolean allowsFinish()
Specify whether this card should allow the Finish button to work in the wizard.

Returns:
boolean true if the Finish button should be enabled
See Also:
fireFinishUpdated()

getNextCard

public AbstractWizardCard getNextCard()
Get the AbstractWizardCard instance that should be displayed when the user clicks the Next button. Will only be called if allowsNext() returns true.

Returns:
AbstractWizardCard subclass to display
See Also:
allowsNext()

getPreviousCard

public AbstractWizardCard getPreviousCard()
Get the AbstractWizardCard instance that should be displayed when the user clicks the Back button. Will only be called if allowsBack() returns true.

Returns:
AbstractWizardCard subclass to display
See Also:
allowsBack()

getHelpTag

public java.lang.String getHelpTag()
Return the tag into the YAACHelpMap.jhm file for displaying help for this card if the Help button is clicked. If this returns null, a Help button will not be displayed.

Returns:
String tag into the Help.jhm file, or null for no help tag

getTitleTag

public java.lang.String getTitleTag()
Returns the tag into the localized ResourceBundles for the text to be displayed as the dialog title for this wizard card.

Returns:
String tag into the ResourceBundles
See Also:
YAAC.getMsg(String)

setWizardPanel

public void setWizardPanel(WizardPanel wp)

cardRemoved

public void cardRemoved(boolean byNext)
Called by WizardPanel when this card is taken down from this wizard, so any cleanup and closure for this panel can be done. By default, does nothing, but subclasses can override.

Parameters:
byNext - boolean true if this method was called because the Next button was pressed, false otherwise

cardAdded

public void cardAdded(boolean byNext)
Called by WizardPanel when this card is first displayed in the wizard, so any additional context-specific initialization can be done that requires the card to be installed into a valid Window-rooted AWT hierarchy. By default, does nothing, but subclasses can override.

Parameters:
byNext - boolean true if this method was called because the Next button was pressed, false otherwise

fireBackUpdated

protected final void fireBackUpdated()
Can be called by subclasses when the wizard's Back button's enabled state should be changed.


fireNextUpdated

protected final void fireNextUpdated()
Can be called by subclasses when the wizard's Next button's enabled state should be changed.


fireFinishUpdated

protected final void fireFinishUpdated()
Can be called by subclasses when the wizard's Finish button's enabled state should be changed.


switchToArbitraryCard

protected final void switchToArbitraryCard(AbstractWizardCard nextCard)
Tell the WizardPanel to change to an arbitrary different card.

Parameters:
nextCard - AbstractWizardCard to switch to

makeGBC

protected static java.awt.GridBagConstraints makeGBC(int x,
                                                     int y)
Convenience method to help build GridBagConstraints for a wizard card laid out with GridBagLayout, creating a cell position for a 1x1 cell with left-aligned contents, weighted equally.

Parameters:
x - int value to use for gridx
y - int value to use for gridy
Returns:
GridBagConstraints

makeGBC

protected static java.awt.GridBagConstraints makeGBC(int x,
                                                     int y,
                                                     int anchor)
Convenience method to help build GridBagConstraints for a wizard card laid out with GridBagLayout, creating a cell position for a 1x1 cell with arbitrarily-aligned contents, weighted equally.

Parameters:
x - int value to use for gridx
y - int value to use for gridy
anchor - the GridBagConstraints constant for where to anchor a cell contents smaller than the allocated cell space
Returns:
GridBagConstraints

makeGBC

protected static java.awt.GridBagConstraints makeGBC(int x,
                                                     int y,
                                                     int anchor,
                                                     int w)
Convenience method to help build GridBagConstraints for a wizard card laid out with GridBagLayout, creating a cell position for a wx1 cell with arbitrarily-aligned contents, weighted equally.

Parameters:
x - int value to use for gridx
y - int value to use for gridy
anchor - the GridBagConstraints constant for where to anchor a cell contents smaller than the allocated cell space
w - int number of consecutive horizontal grid cells this widget should fill
Returns:
GridBagConstraints