Class JXFindPanel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
Direct Known Subclasses:
JXFindBar

@JavaBean public class JXFindPanel extends AbstractPatternPanel
JXFindPanel is a basic find panel suitable for use in dialogs. It offers case-sensitivity, wrapped searching, and reverse searching.
Author:
unascribed from JDNC, Jeanette Winzenburg
See Also:
  • Field Details

  • Constructor Details

    • JXFindPanel

      public JXFindPanel()
      Default constructor for the find panel. Constructs panel not targeted to any component.
    • JXFindPanel

      public JXFindPanel(Searchable searchable)
      Construct search panel targeted to specific Searchable component.
      Parameters:
      searchable - Component where search widget will try to locate and select information using methods of the Searchable interface.
  • Method Details

    • setSearchable

      public void setSearchable(Searchable searchable)
      Sets the Searchable targeted of this find widget. Triggers a search with null pattern to release the old searchable, if any.
      Parameters:
      searchable - Component where search widget will try to locate and select information using methods of the Searchable interface.
    • addNotify

      public void addNotify()
      Notifies this component that it now has a parent component. When this method is invoked, the chain of parent components is set up with KeyboardAction event listeners.
      Overrides:
      addNotify in class JComponent
    • init

      protected void init()
      Initializes component and its listeners and models.
    • bind

      protected void bind()
      Configure and bind components to/from PatternModel.
      Overrides:
      bind in class AbstractPatternPanel
    • refreshEmptyFromModel

      protected void refreshEmptyFromModel()
      called from listening to empty property of PatternModel. this implementation calls super and additionally synchs the enabled state of FIND_NEXT_ACTION_COMMAND, FIND_PREVIOUS_ACTION_COMMAND to !empty.
      Overrides:
      refreshEmptyFromModel in class AbstractPatternPanel
    • match

      public void match()
      Action callback for Find action. Find next/previous match using current setting of direction flag.
      Specified by:
      match in class AbstractPatternPanel
    • findNext

      public void findNext()
      Action callback for FindNext action. Sets direction flag to forward and calls find.
    • findPrevious

      public void findPrevious()
      Action callback for FindPrevious action. Sets direction flag to previous and calls find.
    • doFind

      protected void doFind()
      Common standalone method to perform search. Used by the action callback methods for Find/FindNext/FindPrevious actions. Finds next/previous match using current setting of direction flag. Result is being reporred using showFoundMessage and showNotFoundMessage methods respectively.
      See Also:
    • doSearch

      protected int doSearch()
      Performs search and returns index of the next match.
      Returns:
      Index of the next match in document.
    • showFoundMessage

      protected void showFoundMessage()
      Report that suitable match is found.
    • showNotFoundMessage

      protected void showNotFoundMessage()
      Report that no match is found.
    • updateLocaleState

      protected void updateLocaleState(Locale locale)
      Description copied from class: AbstractPatternPanel
      Updates locale-dependent state. Here: updates registered column actions' locale-dependent state.

      PENDING: Try better to find all column actions including custom additions? Or move to columnControl?

      Overrides:
      updateLocaleState in class AbstractPatternPanel
      Parameters:
      locale - the local language
      See Also:
    • initExecutables

      protected void initExecutables()
      creates and registers all "executable" actions. Meaning: the actions bound to a callback method on this.
      Overrides:
      initExecutables in class AbstractPatternPanel
    • initComponents

      protected void initComponents()
      Create and initialize components.
      Overrides:
      initComponents in class AbstractPatternPanel
    • build

      protected void build()
      Compose and layout all the subcomponents.