JIDE 3.5.15

com.jidesoft.combobox
Class TableChooserPanel

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.combobox.PopupPanel
                      extended by com.jidesoft.combobox.TableChooserPanel
All Implemented Interfaces:
ItemListener, ImageObserver, ItemSelectable, MenuContainer, Serializable, EventListener, Accessible

public class TableChooserPanel
extends PopupPanel
implements ItemListener

TableChooserPanel is a PopupPanel that can choose a value from a table.

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  Class<?> _class
           
protected  JTable _table
           
protected  boolean hasEntered
           
protected  MouseListener mouseListener
          This protected field is implementation specific.
protected  MouseMotionListener mouseMotionListener
          This protected field is implementation specific.
protected  MouseListener tableMouseListener
          This protected field is implementation specific.
protected  MouseMotionListener tableMouseMotionListener
          This protected field is implementation specific.
 
Fields inherited from class com.jidesoft.combobox.PopupPanel
_previousSelectedObject, SELECTED_BY_MOUSE_ROLLOVER
 
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
TableChooserPanel()
           
TableChooserPanel(TableModel model, Class<?> clazz)
          Creates a new ListChooserPanel.
 
Method Summary
protected  MouseEvent convertMouseEvent(MouseEvent e)
           
protected  MouseListener createMouseListener()
          Creates a listener that will watch for mouse-press and release events on the combo box.
protected  MouseMotionListener createMouseMotionListener()
          Creates the mouse motion listener which will be added to the combo box.
protected  PropertyChangeListener createPropertyChangeListener()
          Creates a PropertyChangeListener which will be added to the combo box.
protected  JTable createTable(TableModel model)
          Subclass can override this method to create a custom JTable.
protected  MouseListener createTableMouseListener()
          Creates a mouse listener that watches for mouse events in the popup's list.
protected  MouseMotionListener createTableMouseMotionListener()
          Creates a mouse motion listener that watches for mouse motion events in the popup's list.
protected  void customzieScroller(JScrollPane scroller)
          Configures the scrollable portion which holds the table within the combo box popup.
protected  int getDefaultColumnIndex()
           
 int getMaximumRowCount()
          Gets the maximum number of rows the JTable displays
 Dimension getPreferredSize()
           
 JTable getTable()
          Gets the JTable.
protected  Object getValueAtRowIndex(int row)
          Gets the value at the specific row index.
 int getValueColumnIndex()
          Returns the value column index.
protected  void initComponents()
           
protected  void installListListeners()
          Adds the listeners to the table control.
 void itemStateChanged(ItemEvent e)
           
 void setMaximumRowCount(int count)
          Sets the maximum number of rows the JTable displays.
 void setSelectedObject(Object selectedObject)
          Sets the selected object and fire ItemEvent.
protected  void setupTable(JTable table)
          Configures the table.
 void setValueColumnIndex(int valueColumnIndex)
          Sets the value column index.
 
Methods inherited from class com.jidesoft.combobox.PopupPanel
addItemListener, addItemListener, fireItemStateChanged, getActualPreferredSize, getDefaultFocusComponent, getItemListeners, getMouseListener, getMouseMotionListener, getPreviousSelectedObject, getResizableCorners, getSelectedObject, getSelectedObjects, getTitle, isResetButtonVisible, isResizable, isStretchToFit, needsButtons, removeAllListeners, removeItemListener, requestFocus, setDefaultFocusComponent, setNeedButtons, setPreferredSize, setResizable, setResizableCorners, setSelectedObject, setSelectedObject, setSelectedObject, setStretchToFit, setTitle
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, 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, 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, requestFocusInWindow, 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, 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
 

Field Detail

_table

protected JTable _table

_class

protected Class<?> _class

hasEntered

protected boolean hasEntered

mouseMotionListener

protected MouseMotionListener mouseMotionListener
This protected field is implementation specific. Do not access directly or override. Use the accessor or create methods instead.


mouseListener

protected MouseListener mouseListener
This protected field is implementation specific. Do not access directly or override. Use the accessor or create methods instead.


tableMouseListener

protected MouseListener tableMouseListener
This protected field is implementation specific. Do not access directly or override. Use the create method instead.

See Also:
createTableMouseListener()

tableMouseMotionListener

protected MouseMotionListener tableMouseMotionListener
This protected field is implementation specific. Do not access directly or override. Use the create method instead

See Also:
createTableMouseMotionListener()
Constructor Detail

TableChooserPanel

public TableChooserPanel()

TableChooserPanel

public TableChooserPanel(TableModel model,
                         Class<?> clazz)
Creates a new ListChooserPanel.

Parameters:
model - the model
clazz - the class type
Method Detail

initComponents

protected void initComponents()

getPreferredSize

public Dimension getPreferredSize()
Overrides:
getPreferredSize in class PopupPanel

customzieScroller

protected void customzieScroller(JScrollPane scroller)
Configures the scrollable portion which holds the table within the combo box popup. This method is called when the UI class is created.


createTable

protected JTable createTable(TableModel model)
Subclass can override this method to create a custom JTable. If you override, you need to install the Searchable on the table by yourself.

Returns:
the table

setupTable

protected void setupTable(JTable table)
Configures the table. The base class sets cell renderer and add mouse/key listener in this method. Subclass can override this method to do additional setup.

Parameters:
table -

itemStateChanged

public void itemStateChanged(ItemEvent e)
Specified by:
itemStateChanged in interface ItemListener

getMaximumRowCount

public int getMaximumRowCount()
Gets the maximum number of rows the JTable displays

Returns:
the maximum number of rows the JTable displays.

setMaximumRowCount

public void setMaximumRowCount(int count)
Sets the maximum number of rows the JTable displays. If the number of objects in the model is greater than count, the table uses a scrollbar.

Parameters:
count - an integer specifying the maximum number of items to display in the table before using a scrollbar

getTable

public JTable getTable()
Gets the JTable.

Returns:
the JTable.

getValueAtRowIndex

protected Object getValueAtRowIndex(int row)
Gets the value at the specific row index. By default, we will get the value at the valueColumnIndex. However you can override this method to return a compound value from several columns in the table model in case the values in a column is not unique.

Parameters:
row - the row index.
Returns:
the value at the specific row index.

setSelectedObject

public void setSelectedObject(Object selectedObject)
Description copied from class: PopupPanel
Sets the selected object and fire ItemEvent. It will still fire event even the new selected object is the same as old selected object.

Overrides:
setSelectedObject in class PopupPanel
Parameters:
selectedObject - new selected object

getDefaultColumnIndex

protected int getDefaultColumnIndex()

convertMouseEvent

protected MouseEvent convertMouseEvent(MouseEvent e)

createMouseListener

protected MouseListener createMouseListener()
Creates a listener that will watch for mouse-press and release events on the combo box.

Warning: When overriding this method, make sure to maintain the existing behavior.

Returns:
a MouseListener which will be added to the combo box or null

createMouseMotionListener

protected MouseMotionListener createMouseMotionListener()
Creates the mouse motion listener which will be added to the combo box.

Warning: When overriding this method, make sure to maintain the existing behavior.

Returns:
a MouseMotionListener which will be added to the combo box or null

createTableMouseListener

protected MouseListener createTableMouseListener()
Creates a mouse listener that watches for mouse events in the popup's list. If this method returns null then it will not be added to the combo box.

Returns:
an instance of a MouseListener or null

createTableMouseMotionListener

protected MouseMotionListener createTableMouseMotionListener()
Creates a mouse motion listener that watches for mouse motion events in the popup's list. If this method returns null then it will not be added to the combo box.

Returns:
an instance of a MouseMotionListener or null

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
Creates a PropertyChangeListener which will be added to the combo box. If this method returns null then it will not be added to the combo box.

Returns:
an instance of a PropertyChangeListener or null

installListListeners

protected void installListListeners()
Adds the listeners to the table control.


setValueColumnIndex

public void setValueColumnIndex(int valueColumnIndex)
Sets the value column index. This value column index will be used to get the value from the table model and be displayed at the editor part of the table combobox.

Parameters:
valueColumnIndex - the new value column index.

getValueColumnIndex

public int getValueColumnIndex()
Returns the value column index. This value column index will be used to get the value from the table model and be displayed at the editor part of the table combobox.

Returns:
value column index.

JIDE 3.5.15