Class JXFindBar

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

    public class JXFindBar
    extends JXFindPanel
    A simple low-intrusion default widget for incremental search. Actions registered (in addition to super):
    • JXDialog.CLOSE_ACTION_COMMAND - an action bound to this component's cancel method. The method itself is an empty implementation: Subclassing clients can override the method, all clients can register a custom action.
    Key bindings: This implementation uses textfield coloring as not-found visualization.

    PENDING: the coloring needs to be read from the UIManager instead of hardcoding.

    PENDING: the state transition of found/non-found coloring needs clean-up - there are spurious problems when re-using the same instance (as SearchFactory does).

    Author:
    Jeanette Winzenburg
    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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addNotify()
      Notifies this component that it now has a parent component.
      protected void bind()
      Configure and bind components to/from PatternModel.
      protected void build()
      Compose and layout all the subcomponents.
      void cancel()
      Action callback method for bound action JXDialog.CLOSE_ACTION_COMMAND.
      protected void initComponents()
      Create and initialize components.
      protected void initExecutables()
      creates and registers all "executable" actions.
      void setSearchable​(Searchable searchable)
      Sets the Searchable targeted of this find widget.
      protected void showFoundMessage()
      here: set textfield colors to normal.
      protected void showNotFoundMessage()
      here: set textfield colors to not-found colors.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, 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, paintBorder, paintChildren, 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, 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, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • previousBackgroundColor

        protected java.awt.Color previousBackgroundColor
      • previousForegroundColor

        protected java.awt.Color previousForegroundColor
      • notFoundBackgroundColor

        protected java.awt.Color notFoundBackgroundColor
      • notFoundForegroundColor

        protected java.awt.Color notFoundForegroundColor
      • findNext

        protected javax.swing.JButton findNext
      • findPrevious

        protected javax.swing.JButton findPrevious
    • Constructor Detail

      • JXFindBar

        public JXFindBar()
      • JXFindBar

        public JXFindBar​(Searchable searchable)
    • Method Detail

      • setSearchable

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

        protected void showNotFoundMessage()
        here: set textfield colors to not-found colors.
        Overrides:
        showNotFoundMessage in class JXFindPanel
      • showFoundMessage

        protected void showFoundMessage()
        here: set textfield colors to normal.
        Overrides:
        showFoundMessage in class JXFindPanel
      • addNotify

        public void addNotify()
        Description copied from class: JXFindPanel
        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 JXFindPanel
      • cancel

        public void cancel()
        Action callback method for bound action JXDialog.CLOSE_ACTION_COMMAND. Here: does nothing. Subclasses can override to define custom "closing" behaviour. Alternatively, any client can register a custom action with the actionMap.
      • initExecutables

        protected void initExecutables()
        Description copied from class: JXFindPanel
        creates and registers all "executable" actions. Meaning: the actions bound to a callback method on this.
        Overrides:
        initExecutables in class JXFindPanel
      • bind

        protected void bind()
        Description copied from class: JXFindPanel
        Configure and bind components to/from PatternModel.
        Overrides:
        bind in class JXFindPanel
      • build

        protected void build()
        Description copied from class: JXFindPanel
        Compose and layout all the subcomponents.
        Overrides:
        build in class JXFindPanel