JIDE 3.5.15

com.jidesoft.combobox
Class CalculatorComboBox

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.jidesoft.combobox.AbstractComboBox
                  extended by com.jidesoft.combobox.CalculatorComboBox
All Implemented Interfaces:
ConverterContextSupport, AlignmentSupport, ActionListener, FocusListener, MouseListener, ImageObserver, ItemSelectable, MenuContainer, Serializable, EventListener, Accessible, PopupMenuListener

public class CalculatorComboBox
extends AbstractComboBox

CalculatorComboBox is an AbstractComboBox that uses Calculator as popup panel. It is a ideal input field if you want to input a double value especially user might want to do some simple arithmetic calculation. For example, user can type in "10*24" directly in the text field of the combobox and get the result "240" displayed in the text field.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jidesoft.combobox.AbstractComboBox
AbstractComboBox.AccessibleJComboBox, AbstractComboBox.ComboBoxSpinner, AbstractComboBox.ComboBoxTextField, AbstractComboBox.DefaultRendererComponent, AbstractComboBox.DefaultTextFieldEditorComponent, AbstractComboBox.EditorComponent, AbstractComboBox.EnterLazyDelegateAction, AbstractComboBox.SpinnerEditorComponent
 
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.combobox.AbstractComboBox
_dialog, _editable, _editor, _listDataListener, _oldSelectedItemReminder, _popupButton, _popupPanel, _renderer, actionCommand, CLIENT_PROPERTY_HIDE_POPUP_ON_LIST_DATA_CHANGED, CLIENT_PROPERTY_TABLE_CELL_EDITOR, CLIENT_PROPERTY_TABLE_CELL_RENDERER, COMMIT, COMMIT_OR_RESET, COMMIT_OR_REVERT, dataModel, DIALOG, DROPDOWN, HIDE_POPUP_KEY, PERSIST, PROPERTY_SELECTED_ITEM, RESET, REVERT, 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
CalculatorComboBox()
           
CalculatorComboBox(Class<?> clazz)
           
 
Method Summary
protected  String convertElementToString(Object value)
           
protected  Calculator createCalculator()
           
 AbstractComboBox.EditorComponent createEditorComponent()
          Subclass should implement this method to create the actual editor component.
 PopupPanel createPopupComponent()
          Subclass should implement this method to create the actual popup component.
protected  JTextField createTextField()
          Creates the text field for the editor component of this ComboBox.
 void focusGained(FocusEvent e)
           
 Calculator getCalculator()
           
 void popupMenuCanceled(PopupMenuEvent e)
           
 void setSelectedItem(Object anObject, boolean fireEvent)
          Same as AbstractComboBox.setSelectedItem(Object) except you can choose to fire the ItemEvent or not.
 
Methods inherited from class com.jidesoft.combobox.AbstractComboBox
actionPerformed, addActionListener, addItemListener, addNotify, addPopupMenuListener, calculatePopupLocation, comboBoxSelected, commitEdit, commitEditWithFocusLostBehavior, configurePropertiesFromAction, createActionPropertyChangeListener, createButtonComponent, createDefaultButton, createPopupWindow, createPropertyChangeListener, createSpinner, customizeButton, customizeDialog, customizeDialogLocation, customizePopup, delegateKeyStrokes, equals, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, focusLost, getAccessibleContext, getAction, getActionCommand, getActionListeners, getBackground, getBaseline, getConverter, getConverterContext, getDefaultCancelAction, getDefaultOKAction, getDelegateKeyStrokes, getDelegateTarget, getDialogCancelAction, getDialogOKAction, getDisabledBackground, getDisabledForeground, getEditor, getFocusLostBehavior, getForeground, getHorizontalAlignment, getItemListeners, getModel, getPopupButton, getPopupCancelBehavior, getPopupLocation, getPopupMenuListeners, getPopupPanel, getPopupType, getPrototypeDisplayValue, getRenderer, getSelectedItem, getSelectedItemForPopupPanel, getSelectedObjects, getType, getVerticalAlignment, hidePopup, initComponent, initComponent, installColorFontAndBorder, installListener, isButtonOnly, isButtonVisible, isClearSelectionOnListDataChanged, isEditable, isHidePopupOnListDataChanged, isKeepPopupSize, isOpaque, isPopupVisible, isPopupVolatile, isStretchToFit, isToggleValueOnDoubleClick, isUpdateFromPopupOnFly, listDataChanged, modelUpdated, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, notifyUser, paintComponent, popupMenuWillBecomeInvisible, popupMenuWillBecomeVisible, processKeyBinding, removeActionListener, removeItemListener, removeNotify, removePopupMenuListener, resetEdit, resetPopup, revertEdit, selectedItemChanged, setAction, setActionCommand, setBackground, setBorder, setButtonOnly, setButtonVisible, setClearSelectionOnListDataChanged, setConverter, setConverterContext, setDisabledBackground, setDisabledForeground, setEditable, setEditor, setEnabled, setFocusLostBehavior, setForeground, setHidePopupOnListDataChanged, setHorizontalAlignment, setKeepPopupSize, setModel, setPopupButton, setPopupCancelBehavior, setPopupType, setPopupVisible, setPopupVolatile, setPrototypeDisplayValue, setRenderer, setSelectedItem, setStretchToFit, setToggleValueOnDoubleClick, setType, setVerticalAlignment, showPopup, showPopupPanel, showPopupPanelAsPopup, undelegateKeyStrokes, uninstallListener, updateToolTipTextForChildren, updateUI, validateValueForNonEditable
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, 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, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, 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

CalculatorComboBox

public CalculatorComboBox()

CalculatorComboBox

public CalculatorComboBox(Class<?> clazz)
Method Detail

createCalculator

protected Calculator createCalculator()

createEditorComponent

public AbstractComboBox.EditorComponent createEditorComponent()
Description copied from class: AbstractComboBox
Subclass should implement this method to create the actual editor component.

Specified by:
createEditorComponent in class AbstractComboBox
Returns:
the editor component

createTextField

protected JTextField createTextField()
Description copied from class: AbstractComboBox
Creates the text field for the editor component of this ComboBox. By default, it will return a JTextField. Subclass can override it to return a JFormattedTextField() or any other customized text field.

Please note, JideTable has a feature to allow any key to start cell editing just like in Excel. However, in order to make this feature works in any AbstractComboBox-based cell editors, you must use AbstractComboBox.ComboBoxTextField to replace JTextField. So if you ever override this createTextField to create your own JTextField, use ComboBoxTextField instead. The only difference between JTextField and ComboBoxTextField is ComboBoxTextField implements ProcessKeyBinding interface and make processKeyBinding(...) a public method so that we can use it to pass the key event to it. Otherwise, you hit a key to start cell editing and the first key will get lost.

Overrides:
createTextField in class AbstractComboBox
Returns:
the text field.

createPopupComponent

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

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

focusGained

public void focusGained(FocusEvent e)
Specified by:
focusGained in interface FocusListener
Overrides:
focusGained in class AbstractComboBox

getCalculator

public Calculator getCalculator()

setSelectedItem

public void setSelectedItem(Object anObject,
                            boolean fireEvent)
Description copied from class: AbstractComboBox
Same as AbstractComboBox.setSelectedItem(Object) except you can choose to fire the ItemEvent or not.

Overrides:
setSelectedItem in class AbstractComboBox
Parameters:
anObject - the new value
fireEvent - true to fire event which is the same as AbstractComboBox.setSelectedItem(Object). False if you don't want to fire event.

popupMenuCanceled

public void popupMenuCanceled(PopupMenuEvent e)
Specified by:
popupMenuCanceled in interface PopupMenuListener
Overrides:
popupMenuCanceled in class AbstractComboBox

convertElementToString

protected String convertElementToString(Object value)

JIDE 3.5.15