Class AbstractWizardCard

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
ConfigBeacon, ConfigPort, ConfigPortList, ConfigStationLocation, ConfigStationType, ConfigUpdateExistingPortCallsigns, StartConfigWizard

public abstract class AbstractWizardCard extends 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.
Author:
Andrew Pavlin, KA2DDO
See Also:
  • Constructor Details

    • AbstractWizardCard

      protected AbstractWizardCard(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 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

      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:
    • 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:
    • getHelpTag

      public 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, the Help button will be disabled.
      Returns:
      String tag into the Help.jhm file, or null for no help tag
    • getTitleTag

      public String 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 Finish
      byFinish - 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

      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 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
    • makeFilledGBC

      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.
      Parameters:
      x - int value to use for gridx
      y - int value to use for gridy
      Returns:
      GridBagConstraints
    • makeGBC

      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.
      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 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