Holger's
Java API

com.antelmann.util.table
Class JTableFilterTextField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.antelmann.util.table.JTableFilterTextField
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener

public class JTableFilterTextField
extends JComponent
implements ActionListener

uses a SimpleTableRowFilter to apply filtering capabilities to a FilteredTableModel If you want to be notified upon changes of the model before it's actually updated, use a PropertyChangeListener with the property name SEARCH_PATTERN_KEY

Since:
6. Oktober 2006, 12:46
Author:
Holger Antelmann
See Also:
SimpleTableRowFilter, JFilteredTableComponent, Serialized Form

Nested Class Summary
 
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
static String SEARCH_PATTERN_KEY
          upon changes of the search text, a PropertyChangeEvent with this property name is fired
 
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
JTableFilterTextField(FilteredTableModel model, Integer... columnsToCheck)
           
JTableFilterTextField(FilteredTableModel model, SimpleTableRowFilter filter)
           
JTableFilterTextField(FilteredTableModel model, SimpleTableRowFilter filter, boolean immediateUpdate)
           
 
Method Summary
 void actionPerformed(ActionEvent actionEvent)
          updates the filtering of the table based on this text field.
 void addActionListener(ActionListener listener)
          allows to be notified on filter changes (after the model has been updated).
 ActionListener[] getActionListeners()
           
 SimpleTableRowFilter getFilter()
           
 JButton getJButton()
           
 JTextField getJTextField()
          returns the text field for the search pattern
 String getLabelText()
           
 String getSearchText()
           
 boolean isImmediateUpdate()
           
 void removeActionListener(ActionListener listener)
           
 void requestFocus()
           
 boolean requestFocusInWindow()
          overwritten to place the focus directly to the search field (which is a JTextField)
 void setFilter(SimpleTableRowFilter filter)
          allows to customize the filter
 void setImmediateUpdate(boolean immediateUpdate)
           
 void setLabelText(String text)
           
 void setSearchText(String pattern)
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, 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, updateUI
 
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
 

Field Detail

SEARCH_PATTERN_KEY

public static final String SEARCH_PATTERN_KEY
upon changes of the search text, a PropertyChangeEvent with this property name is fired

See Also:
Constant Field Values
Constructor Detail

JTableFilterTextField

public JTableFilterTextField(FilteredTableModel model,
                             Integer... columnsToCheck)

JTableFilterTextField

public JTableFilterTextField(FilteredTableModel model,
                             SimpleTableRowFilter filter)

JTableFilterTextField

public JTableFilterTextField(FilteredTableModel model,
                             SimpleTableRowFilter filter,
                             boolean immediateUpdate)
Method Detail

isImmediateUpdate

public boolean isImmediateUpdate()

setImmediateUpdate

public void setImmediateUpdate(boolean immediateUpdate)

addActionListener

public void addActionListener(ActionListener listener)
allows to be notified on filter changes (after the model has been updated). Alternatively, you can register a TableModelListener on the FilteredTableModel or - if you'd rather be notified before the table model is updated - use a PropertyChangeListener with SEARCH_PATTERN_KEY.


removeActionListener

public void removeActionListener(ActionListener listener)

getActionListeners

public ActionListener[] getActionListeners()

requestFocusInWindow

public boolean requestFocusInWindow()
overwritten to place the focus directly to the search field (which is a JTextField)

Overrides:
requestFocusInWindow in class JComponent

requestFocus

public void requestFocus()
Overrides:
requestFocus in class JComponent

getLabelText

public String getLabelText()

setLabelText

public void setLabelText(String text)

getSearchText

public String getSearchText()

setSearchText

public void setSearchText(String pattern)

getFilter

public SimpleTableRowFilter getFilter()

setFilter

public void setFilter(SimpleTableRowFilter filter)
allows to customize the filter


getJTextField

public JTextField getJTextField()
returns the text field for the search pattern


getJButton

public JButton getJButton()

actionPerformed

public void actionPerformed(ActionEvent actionEvent)
updates the filtering of the table based on this text field.

Specified by:
actionPerformed in interface ActionListener


(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads