org.jdesktop.swingx
Class JXFindPanel

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.jdesktop.swingx.JXPanel
                      extended by org.jdesktop.swingx.AbstractPatternPanel
                          extended by org.jdesktop.swingx.JXFindPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
Direct Known Subclasses:
JXFindBar

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.

See Also:
Serialized Form

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
protected  JCheckBox backCheck
           
static String FIND_NEXT_ACTION_COMMAND
           
static String FIND_PREVIOUS_ACTION_COMMAND
           
protected  Searchable searchable
           
protected  JCheckBox wrapCheck
           
 
Fields inherited from class org.jdesktop.swingx.AbstractPatternPanel
MATCH_ACTION_COMMAND, matchCheck, patternModel, SEARCH_FIELD_LABEL, SEARCH_FIELD_MNEMONIC, SEARCH_TITLE, searchField, searchLabel
 
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
JXFindPanel()
          Default constructor for the find panel.
JXFindPanel(Searchable searchable)
          Construct search panel targeted to specific Searchable component.
 
Method Summary
 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.
protected  void doFind()
          Common standalone method to perform search.
protected  int doSearch()
          Performs search and returns index of the next match.
 void findNext()
          Action callback for FindNext action.
 void findPrevious()
          Action callback for FindPrevious action.
protected  void init()
          Initializes component and its listeners and models.
protected  void initComponents()
          Create and initialize components.
protected  void initExecutables()
          creates and registers all "executable" actions.
 void match()
          Action callback for Find action.
protected  void refreshEmptyFromModel()
          called from listening to empty property of PatternModel.
 void setSearchable(Searchable searchable)
          Sets the Searchable targeted of this find widget.
protected  void showFoundMessage()
          Report that suitable match is found.
protected  void showNotFoundMessage()
          Report that no match is found.
protected  void updateLocaleState(Locale locale)
          Updates locale-dependent state.
 
Methods inherited from class org.jdesktop.swingx.AbstractPatternPanel
bindSearchLabel, createBoundAction, createModelStateAction, createPatternModel, getAction, getActionContainerFactory, getPatternModel, getPatternModelListener, getSearchFieldListener, getSearchFieldWidth, getUIString, getUIString, initActions, initPatternActions, refreshDocumentFromModel, refreshModelFromDocument, refreshPatternFromModel, setLocale
 
Methods inherited from class org.jdesktop.swingx.JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, isInheritAlpha, isPaintBorderInsets, paint, paintComponent, setAlpha, setBackground, setBackgroundPainter, setInheritAlpha, setPaintBorderInsets, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, 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
 

Field Detail

FIND_NEXT_ACTION_COMMAND

public static final String FIND_NEXT_ACTION_COMMAND
See Also:
Constant Field Values

FIND_PREVIOUS_ACTION_COMMAND

public static final String FIND_PREVIOUS_ACTION_COMMAND
See Also:
Constant Field Values

searchable

protected Searchable searchable

wrapCheck

protected JCheckBox wrapCheck

backCheck

protected JCheckBox backCheck
Constructor Detail

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:
searchible - Component where search widget will try to locate and select information using methods of the Searchible interface.
Method Detail

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
See Also:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)

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:
match(), findNext(), findPrevious()

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
See Also:
AbstractPatternPanel.setLocale(Locale)

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.