JIDE 3.5.15

com.jidesoft.combobox
Class QuickComboBoxFilterField

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 com.jidesoft.swing.LabeledTextField
                      extended by com.jidesoft.grid.QuickFilterField
                          extended by com.jidesoft.combobox.QuickComboBoxFilterField
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class QuickComboBoxFilterField
extends QuickFilterField

QuickListFilterField works along with any ListModel to provide searching feature.

It is very simple to use it.

 QuickListFilterField filterField = new QuickListFilterField(anyListModel);
Later on, when you display the list, instead using your original combobox model, use getDisplayComboBoxModel().
 JList list = new JList(quickSearchField.getDisplayListModel());
 filterField.setList(list); // optional. Only if you want the selection to be kept before and
 after filtering.
 
Usually you place QuickListFilterField somewhere close to the JList in the user interface. User can type in any text in the text field, you will see the JList automatically display the data that matches with the text.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jidesoft.grid.QuickFilterField
QuickFilterField.FieldFilter
 
Nested classes/interfaces inherited from class com.jidesoft.swing.LabeledTextField
LabeledTextField.PopupMenuCustomizer
 
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 com.jidesoft.grid.QuickFilterField
_filter, _searchingText, PROPERTY_CASE_SENSITIVE, PROPERTY_FROM_END, PROPERTY_FROM_START, PROPERTY_REGEX_ENABLED, PROPERTY_SEARCH_TEXT, PROPERTY_WILDCARD_ENABLED
 
Fields inherited from class com.jidesoft.swing.LabeledTextField
_button, _contextMenuKeyStroke, _customizer, _hintLabel, _hintText, _icon, _label, _labelText, _showHintTextWhenFocused, _textField
 
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
QuickComboBoxFilterField()
          Creates an empty QuickSearchField.
QuickComboBoxFilterField(ComboBoxModel ComboBoxModel)
          Creates a QuickSearchField using the specified ComboBoxModel.
 
Method Summary
 void applyFilter(String text)
          Applies the filter.
protected  FilterableComboBoxModel createDisplayComboBoxModel(ComboBoxModel comboBoxModel)
           
 JComboBox getComboBox()
          Gets the list that is using the displayComboBoxModel.
 ComboBoxModel getComboBoxModel()
          Gets the table model.
 FilterableComboBoxModel getDisplayComboBoxModel()
          Gets the display table model.
 void setComboBox(JComboBox comboBox)
          Sets the list that is using the displayComboBoxModel.
 void setComboBoxModel(ComboBoxModel comboBoxModel)
          Sets the table model used by this component.
 
Methods inherited from class com.jidesoft.grid.QuickFilterField
adjustMismatchColor, applyFilter, compare, compare, convertElementToString, createButton, createContextMenu, createFilter, getDefaultFilterIcon, getDefaultResetIcon, getDefaultResetRolloverIcon, getFilter, getFilterIcon, getMismatchColor, getResetIcon, getResetRolloverIcon, getResourceString, getSearchingDelay, getSearchingText, getWildcardSupport, initComponent, installListeners, isCaseSensitive, isConfigurationChanged, isFromEnd, isFromStart, isRegexEnabled, isShowMismatchColor, isWildcardEnabled, matches, setCaseSensitive, setConfigurationChanged, setDefaultFilterIcon, setDefaultResetIcon, setDefaultResetRolloverIcon, setFilterIcon, setFromEnd, setFromStart, setMismatchColor, setRegexEnabled, setResetIcon, setResetRolloverIcon, setSearchingDelay, setSearchingText, setShowMismatchColor, setWildcardEnabled, setWildcardSupport, uninstallListeners
 
Methods inherited from class com.jidesoft.swing.LabeledTextField
calculateContextMenuLocation, createLabel, createTextField, customizePopupMenu, getBaseline, getButton, getContextMenuKeyStroke, getHintText, getIcon, getLabel, getLabelText, getPopupMenuCustomizer, getText, getTextField, initLayout, isShowHintTextWhenFocused, setColumns, setContextMenuKeyStroke, setEnabled, setHintText, setIcon, setLabelText, setPopupMenuCustomizer, setShowHintTextWhenFocused, setText, showContextMenu, updateUI
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
 
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, 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, 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, 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, setLocale, 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
 

Constructor Detail

QuickComboBoxFilterField

public QuickComboBoxFilterField()
Creates an empty QuickSearchField. This method is useless since QuickSearchField has to have a table model in order to work correctly. So we have this method in place mainly to make it JavaBean compatible. You must call setComboBoxModel(javax.swing.ComboBoxModel) after you create QuickSearchField using this constructor.


QuickComboBoxFilterField

public QuickComboBoxFilterField(ComboBoxModel ComboBoxModel)
Creates a QuickSearchField using the specified ComboBoxModel.

Parameters:
ComboBoxModel - the combobox model
Method Detail

applyFilter

public void applyFilter(String text)
Applies the filter.

Specified by:
applyFilter in class QuickFilterField
Parameters:
text - the searching text.

setComboBoxModel

public void setComboBoxModel(ComboBoxModel comboBoxModel)
Sets the table model used by this component. It could be any table model, not necessarily be a FilterableComboBoxModel.

Parameters:
comboBoxModel - the combobox model

createDisplayComboBoxModel

protected FilterableComboBoxModel createDisplayComboBoxModel(ComboBoxModel comboBoxModel)

getComboBoxModel

public ComboBoxModel getComboBoxModel()
Gets the table model.

Returns:
the table model.

getDisplayComboBoxModel

public FilterableComboBoxModel getDisplayComboBoxModel()
Gets the display table model. QuickSearchField doesn't modify the table model that you passed in but wrap it in FilterableComboBoxModel. So if you want to display the result after being filtered, you should use this method to get the display table model and set it to your table.

Returns:
the table model to be displayed.

getComboBox

public JComboBox getComboBox()
Gets the list that is using the displayComboBoxModel.

Returns:
the list that is using the displayComboBoxModel.

setComboBox

public void setComboBox(JComboBox comboBox)
Sets the list that is using the displayComboBoxModel. The only reason we want to know the list is to keep the selection during filtering. For example, if node A is selected before filtering, and since it matches with the searching text, the selection should be kept after filtering. If you didn't call this method to let QuickListFilterField what the list is, the selection will be gone.

Please note, this method will be set displayComboBoxModel onto the list. You still need to call getDisplayComboBoxModel() to get the model and set it to the list.

Parameters:
comboBox - the JCombobox

JIDE 3.5.15