Class AbstractWizardCard
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.ka2ddo.yaac.gui.genericwizard.AbstractWizardCard
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
ConfigBeacon
,ConfigPort
,ConfigPortList
,ConfigStationLocation
,ConfigStationType
,ConfigUpdateExistingPortCallsigns
,StartConfigWizard
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.
- Author:
- Andrew Pavlin, KA2DDO
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
ModifierConstructorDescriptionprotected
Create a wizard card with the default layout manager.protected
AbstractWizardCard
(LayoutManager layout) Create a wizard card with a specific LayoutManager. -
Method Summary
Modifier and TypeMethodDescriptionabstract boolean
Specify whether this card should allow the Back button to work in the wizard.abstract boolean
Specify whether this card should allow the Finish button to work in the wizard.abstract boolean
Specify whether this card should allow the Next button to work in the wizard.boolean
canCardBeRemoved
(boolean byNext, boolean byFinish) Called by WizardPanel before removing a card, either to switch to another card, or to complete 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 final void
Can be called by subclasses when the wizard's Back button's enabled state should be changed.protected final void
Can be called by subclasses when the wizard's Finish button's enabled state should be changed.protected final void
Can be called by subclasses when the wizard's Next button's enabled state should be changed.Return the tag into the YAACHelpMap.jhm file for displaying help for this card if the Help button is clicked.Get the AbstractWizardCard instance that should be displayed when the user clicks the Next button.Get the AbstractWizardCard instance that should be displayed when the user clicks the Back button.Returns the tag into the localized ResourceBundles for the text to be displayed as the border title for this wizard card.protected static GridBagConstraints
makeFilledGBC
(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 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 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 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.protected final 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
AbstractWizardCard
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 Details
-
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:
-
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:
-
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:
-
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:
-
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:
-
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, the Help button will be disabled.- Returns:
- String tag into the Help.jhm file, or null for no help tag
-
getTitleTag
Returns the tag into the localized ResourceBundles for the text to be displayed as the border title for this wizard card.- Returns:
- String tag into the ResourceBundles
- See Also:
-
canCardBeRemoved
public boolean canCardBeRemoved(boolean byNext, boolean byFinish) Called by WizardPanel before removing a card, either to switch to another card, or to complete the wizard. By default, returns true, but can be overridden to return false if the card finds some error condition that should not permit the card to be removed.- Parameters:
byNext
- boolean true if because Next button was pushed, false if Back or FinishbyFinish
- boolean true if because Finish button was pushed, false if Back or Next- Returns:
- boolean true if removal should be allowed
-
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
Tell the WizardPanel to change to an arbitrary different card.- Parameters:
nextCard
- AbstractWizardCard to switch to
-
makeGBC
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 gridxy
- int value to use for gridy- Returns:
- GridBagConstraints
-
makeFilledGBC
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 gridxy
- int value to use for gridy- Returns:
- GridBagConstraints
-
makeGBC
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 gridxy
- int value to use for gridyanchor
- the GridBagConstraints constant for where to anchor a cell contents smaller than the allocated cell space- Returns:
- GridBagConstraints
-
makeGBC
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 gridxy
- int value to use for gridyanchor
- the GridBagConstraints constant for where to anchor a cell contents smaller than the allocated cell spacew
- int number of consecutive horizontal grid cells this widget should fill- Returns:
- GridBagConstraints
-