JIDE 3.5.15

com.jidesoft.combobox
Class ListExComboBox

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JComboBox
                  extended by com.jidesoft.combobox.ExComboBox
                      extended by com.jidesoft.combobox.ListExComboBox
All Implemented Interfaces:
ConverterContextSupport, ActionListener, ImageObserver, ItemSelectable, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, ListDataListener
Direct Known Subclasses:
EnumCellRenderer

public class ListExComboBox
extends ExComboBox

ListComboBox is just like a normal JComboBox which you can choose a value from a drop-down list box.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jidesoft.combobox.ExComboBox
ExComboBox.LazyDelegateAction
 
Nested classes/interfaces inherited from class javax.swing.JComboBox
JComboBox.AccessibleJComboBox, JComboBox.KeySelectionManager
 
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 Object[] BOOLEAN_ARRAY
          An array of boolean true and false.
 
Fields inherited from class com.jidesoft.combobox.ExComboBox
CLIENT_PROPERTY_HIDE_POPUP_ON_LIST_DATA_CHANGED, CLIENT_PROPERTY_POPUP_PANEL, CLIENT_PROPERTY_TABLE_CELL_EDITOR, CLIENT_PROPERTY_TABLE_CELL_RENDERER, COMMIT, COMMIT_OR_RESET, COMMIT_OR_REVERT, DIALOG, DOWN_KEY_BEHAVIOR_SELECT_NEXT, DOWN_KEY_BEHAVIOR_SHOW_POPUP, DROPDOWN, PERSIST, PROPERTY_BUTTON_VISIBLE, PROPERTY_SELECTED_ITEM, RESET, REVERT
 
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
 
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
ListExComboBox()
           
ListExComboBox(ComboBoxModel model)
          Creates a new ListComboBox.
ListExComboBox(ComboBoxModel model, Class<?> clazz)
          Creates a new ListComboBox.
ListExComboBox(Object[] objects)
          Creates a new ListComboBox.
ListExComboBox(Object[] objects, Class<?> clazz)
          Creates a new ListComboBox.
ListExComboBox(Vector<?> objects)
          Creates a new ListComboBox.
ListExComboBox(Vector<?> objects, Class<?> clazz)
          Creates a new ListComboBox.
 
Method Summary
protected  JList createList(ComboBoxModel model)
          Creates the list.
protected  ListChooserPanel createListChooserPanel(ComboBoxModel dataModel, Class<?> clazz, ObjectConverter converter, ConverterContext converterContext)
          Creates the ListChooserPanel.
 PopupPanel createPopupComponent()
          Subclass should implement this method to create the actual popup component.
 List<KeyStroke> getDelegateKeyStrokes()
          Gets the list of KeyStrokes that will be delegated to the popup panel.
protected  JComponent getDelegateTarget(PopupPanel panel)
           
 JList getList()
           
 boolean isToggleValueOnDoubleClick()
          Checks if double click on the editor part will toggle the value.
 boolean selectWithKeyChar(char keyChar)
           
 void setToggleValueOnDoubleClick(boolean toggleValueOnDoubleClick)
          Sets the flag whether the value will be toggled when double clicking on the editor part.
protected  void setupList(JList list)
          Setups the JList for the tree used in the popup panel.
 void toggleValue(Component editorComponent, int direction)
           
 
Methods inherited from class com.jidesoft.combobox.ExComboBox
comboBoxSelected, commitEdit, commitEditWithFocusLostBehavior, convertElementToString, convertElementToString, convertStringToElement, convertStringToElement, createButtonComponent, customizeDialog, customizeDialogLocation, customizePopup, customizeRendererComponent, delegateKeyStrokes, equals, fireActionEvent, fireItemStateChanged, getActualUIClassID, getConverter, getConverterContext, getDefaultCancelAction, getDefaultOKAction, getDialogCancelAction, getDialogOKAction, getDownKeyBehavior, getFocusLostBehavior, getPopupCancelBehavior, getPopupLocation, getPopupType, getSelectedItem, getType, getUIComboBoxEditorClassID, getUIComboBoxPopupClassID, getUIComboBoxRendererClassID, initComboBox, installColorFontAndBorder, isButtonOnly, isButtonVisible, isEmptyStringNull, isKeepPopupSize, isPopupVolatile, isReallyFocusLost, isRetrievingValueFromPopup, isStretchToFit, isStretchToFitSet, isUpdateFromPopupOnFly, notifyUser, popupMenuCanceled, processKeyBinding, propertyChange, resetEdit, revertEdit, setButtonOnly, setButtonVisible, setConverter, setConverterContext, setDownKeyBehavior, setEditable, setEmptyStringNull, setFocusLostBehavior, setKeepPopupSize, setModel, setPopupCancelBehavior, setPopupLocation, setPopupType, setPopupVolatile, setSelectedItem, setSelectedItem, setStretchToFit, setType, undelegateKeyStrokes, updateUI, validateValueForNonEditable
 
Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, setAction, setActionCommand, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setUI, showPopup
 
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, 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, 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
 

Field Detail

BOOLEAN_ARRAY

public static Object[] BOOLEAN_ARRAY
An array of boolean true and false.

Constructor Detail

ListExComboBox

public ListExComboBox()

ListExComboBox

public ListExComboBox(Object[] objects)
Creates a new ListComboBox.

Parameters:
objects - an array of objects to insert into the combo box

ListExComboBox

public ListExComboBox(Vector<?> objects)
Creates a new ListComboBox.

Parameters:
objects - a vector of objects to insert into the combo box

ListExComboBox

public ListExComboBox(ComboBoxModel model)
Creates a new ListComboBox.

Parameters:
model - a combobox model

ListExComboBox

public ListExComboBox(Object[] objects,
                      Class<?> clazz)
Creates a new ListComboBox.

Parameters:
objects - an array of objects to insert into the combo box
clazz - the type of the objects in the array.

ListExComboBox

public ListExComboBox(Vector<?> objects,
                      Class<?> clazz)
Creates a new ListComboBox.

Parameters:
objects - a vector of objects to insert into the combo box.
clazz - the type of the objects in the vector.

ListExComboBox

public ListExComboBox(ComboBoxModel model,
                      Class<?> clazz)
Creates a new ListComboBox.

Parameters:
model - a combobox model.
clazz - the type of the objects in the model.
Method Detail

createPopupComponent

public PopupPanel createPopupComponent()
Description copied from class: ExComboBox
Subclass should implement this method to create the actual popup component.

Specified by:
createPopupComponent in class ExComboBox
Returns:
the popup component

createListChooserPanel

protected ListChooserPanel createListChooserPanel(ComboBoxModel dataModel,
                                                  Class<?> clazz,
                                                  ObjectConverter converter,
                                                  ConverterContext converterContext)
Creates the ListChooserPanel. Subclass can override this method to create its own ListChooserPanel. Below is the default implement of this method.

     ListChooserPanel listChooserPanel = new ListChooserPanel(dataModel, clazz, converter, converterContext) {
         protected JList createList(ComboBoxModel model) {
 //     *             JList list = ListExComboBox.this.createList(model);
             if (list == null) {
                 return super.createList(model);
             }
             return list;
         }
         protected void setupList(final JList list) {
             setHorizontalAlignment(ListExComboBox.this.getHorizontalAlignment());
             setVerticalAlignment(ListExComboBox.this.getVerticalAlignment());
             super.setupList(list);
             list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
                 public void valueChanged(ListSelectionEvent e) {
                     if (!e.getValueIsAdjusting() && !Boolean.TRUE.equals(list.getClientProperty(SELECTED_BY_MOUSE_ROLLOVER)))
 {
                         int index = list.getSelectedIndex();
                         if (index != -1) {
                             Object item = dataModel.getElementAt(index);
                             if (getEditor().getItem() != item) {
                                 setSelectedObject(item, false);
                                 getEditor().setItem(item);
                                 getEditor().selectAll();
                             }
                         }
                     }
                 }
             });
             ListExComboBox.this.setupList(list);
         }
     };
 

Parameters:
dataModel - the combobox model
clazz - the type of the element
converter - the converter
converterContext - the converter context. Used only when converter is null.
Returns:
ListChooserPanel.

createList

protected JList createList(ComboBoxModel model)
Creates the list. By default, we will return null, meaning the default JList created by ListChooserPanel will be used. Subclass can override this method to create other types of list.

Parameters:
model - the list model.
Returns:
the list.

getList

public JList getList()

selectWithKeyChar

public boolean selectWithKeyChar(char keyChar)
Overrides:
selectWithKeyChar in class ExComboBox

setupList

protected void setupList(JList list)
Setups the JList for the tree used in the popup panel. You can override this method to customize the JList.

Parameters:
list - the list used by ListChooserPanel.

getDelegateKeyStrokes

public List<KeyStroke> getDelegateKeyStrokes()
Description copied from class: ExComboBox
Gets the list of KeyStrokes that will be delegated to the popup panel. By default, we will return ESCAPE, UP, DOWN, PAGE_DOWN, PAGE_UP, ENTER, LEFT, RIGHT, HOME and END keys.

Overrides:
getDelegateKeyStrokes in class ExComboBox
Returns:
the list of KeyStrokes that will be delegated to the popup panel.

getDelegateTarget

protected JComponent getDelegateTarget(PopupPanel panel)
Overrides:
getDelegateTarget in class ExComboBox

isToggleValueOnDoubleClick

public boolean isToggleValueOnDoubleClick()
Checks if double click on the editor part will toggle the value.

Returns:
true or false.

setToggleValueOnDoubleClick

public void setToggleValueOnDoubleClick(boolean toggleValueOnDoubleClick)
Sets the flag whether the value will be toggled when double clicking on the editor part. By default, it is true.

Parameters:
toggleValueOnDoubleClick - the flag

toggleValue

public void toggleValue(Component editorComponent,
                        int direction)

JIDE 3.5.15