Package org.compiere.swing
Class CComboBox<E>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JComboBox<E>
-
- org.compiere.swing.CComboBox<E>
-
- All Implemented Interfaces:
ActionListener,ImageObserver,ItemSelectable,MenuContainer,Serializable,EventListener,Accessible,ListDataListener,CEditor
public class CComboBox<E> extends JComboBox<E> implements CEditor
Adempiere Colored Combo Box.- Version:
- $Id: CComboBox.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
- Author:
- Jorg Janke
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
Fields Modifier and Type Field Description static StringAUTO_REDUCIBLE_PROPERTYProperty key for auto-reduction.static StringCASE_SENSITIVE_PROPERTYProperty key for case sensitive auto-reduction.static intFIELD_HIGHTField Height-
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description CComboBox()Creates aJComboBoxwith a default data model.CComboBox(E[] items)Creates aJComboBoxthat contains the elements in the specified array.CComboBox(E[] items, String key)Creates aJComboBoxthat contains the elements in the specified array.CComboBox(Vector<E> items)Creates aJComboBoxthat contains the elements in the specified Vector.CComboBox(ComboBoxModel<E> aModel)Creates aJComboBoxthat takes it's items from an existingComboBoxModel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMouseListener(MouseListener ml)Add Mouse Listener - 1-4-0 Bug.booleandisplayPopup()Display Popup.ComboBoxModel<E>getCompleteComboBoxModel()StringgetDisplay()Return Display ValueObjectgetValue()Return Editor valuebooleanisAutoReducible()Is the combo box auto-reducible?booleanisCaseSensitive()Is the auto-reduction case sensitive?booleanisMandatory()Is Field mandatoryprotected booleanisMatchingFilter(Object element)Called only when auto-reducing.booleanisReadWrite()Is it possible to editbooleanisShortListSearch()does the search should return only short list items ?voidremoveAllItems()voidremoveMouseListener(MouseListener ml)Remove Mouse Listener.voidsetActionCommand(String actionCommand)Set Action CommandvoidsetAutoReducible(boolean autoreducible)Set whether the combo box is auto-reducible.voidsetBackground(boolean error)Set Background based on editable / mandatory / errorvoidsetBackground(Color bg)Set BackgroundvoidsetCaseSensitive(boolean caseSensitive)Set whether auto-reduction is case sensitive.voidsetIcon(Icon defaultIcon)Set Icon of arrow button to iconvoidsetMandatory(boolean mandatory)Set Editor MandatoryvoidsetModel(ComboBoxModel<E> aModel)voidsetReadWrite(boolean rw)Enable EditorvoidsetShortListSearch(boolean shortList)set the editor to return only short list itemsvoidsetUI(ComboBoxUI ui)Set UI and re-set Icon for arrow buttonvoidsetValue(Object value)Set Editor to value-
Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyBinding, processKeyEvent, removeActionListener, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, showPopup, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.compiere.swing.CEditor
setVisible
-
-
-
-
Field Detail
-
FIELD_HIGHT
public static int FIELD_HIGHT
Field Height
-
AUTO_REDUCIBLE_PROPERTY
public static final String AUTO_REDUCIBLE_PROPERTY
Property key for auto-reduction.- See Also:
- Constant Field Values
-
CASE_SENSITIVE_PROPERTY
public static final String CASE_SENSITIVE_PROPERTY
Property key for case sensitive auto-reduction.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CComboBox
public CComboBox(ComboBoxModel<E> aModel)
Creates aJComboBoxthat takes it's items from an existingComboBoxModel. Since theComboBoxModelis provided, a combo box created using this constructor does not create a default combo box model and may impact how the insert, remove and add methods behave.- Parameters:
aModel- theComboBoxModelthat provides the displayed list of items- See Also:
DefaultComboBoxModel
-
CComboBox
public CComboBox(E[] items)
Creates aJComboBoxthat contains the elements in the specified array. By default the first item in the array (and therefore the data model) becomes selected.- Parameters:
items- an array of objects to insert into the combo box- See Also:
DefaultComboBoxModel
-
CComboBox
public CComboBox(E[] items, String key)
Creates aJComboBoxthat contains the elements in the specified array. By default the first item in the array (and therefore the data model) becomes selected.- Parameters:
items- an array of objects to insert into the combo boxkey- set selected if exists- See Also:
DefaultComboBoxModel
-
CComboBox
public CComboBox(Vector<E> items)
Creates aJComboBoxthat contains the elements in the specified Vector. By default the first item in the vector and therefore the data model) becomes selected.- Parameters:
items- an array of vectors to insert into the combo box- See Also:
DefaultComboBoxModel
-
CComboBox
public CComboBox()
Creates aJComboBoxwith a default data model. The default data model is an empty list of objects. UseaddItemto add items. By default the first item in the data model becomes selected.- See Also:
DefaultComboBoxModel
-
-
Method Detail
-
setIcon
public void setIcon(Icon defaultIcon)
Set Icon of arrow button to icon- Parameters:
defaultIcon- Icon to be displayed
-
getCompleteComboBoxModel
public ComboBoxModel<E> getCompleteComboBoxModel()
-
setModel
public void setModel(ComboBoxModel<E> aModel)
- Overrides:
setModelin classJComboBox<E>- See Also:
JComboBox.setModel(javax.swing.ComboBoxModel)
-
setUI
public void setUI(ComboBoxUI ui)
Set UI and re-set Icon for arrow button
-
displayPopup
public boolean displayPopup()
Display Popup. Called from AdempiereComboPopup and allows to implement alternative actions than showing the popup- Returns:
- if true, the popup should be displayed
-
setMandatory
public void setMandatory(boolean mandatory)
Set Editor Mandatory- Specified by:
setMandatoryin interfaceCEditor- Parameters:
mandatory- true, if you have to enter data
-
isMandatory
public boolean isMandatory()
Is Field mandatory- Specified by:
isMandatoryin interfaceCEditor- Returns:
- true, if mandatory
-
setReadWrite
public void setReadWrite(boolean rw)
Enable Editor- Specified by:
setReadWritein interfaceCEditor- Parameters:
rw- true, if you can enter/select data
-
isReadWrite
public boolean isReadWrite()
Is it possible to edit- Specified by:
isReadWritein interfaceCEditor- Returns:
- true, if editable
-
setBackground
public void setBackground(boolean error)
Set Background based on editable / mandatory / error- Specified by:
setBackgroundin interfaceCEditor- Parameters:
error- if true, set background to error color, otherwise mandatory/editable
-
setBackground
public void setBackground(Color bg)
Set Background- Overrides:
setBackgroundin classJComponent- Parameters:
bg-
-
setValue
public void setValue(Object value)
Set Editor to value
-
getValue
public Object getValue()
Return Editor value
-
getDisplay
public String getDisplay()
Return Display Value- Specified by:
getDisplayin interfaceCEditor- Returns:
- displayed String value
-
addMouseListener
public void addMouseListener(MouseListener ml)
Add Mouse Listener - 1-4-0 Bug. Bug in 1.4.0 Metal: arrowButton gets Mouse Events, so add the JComboBox MouseListeners to the arrowButton - No context menu if right-click- Overrides:
addMouseListenerin classComponent- Parameters:
ml-- See Also:
CompiereComboBoxUI.installUI(JComponent)
-
removeMouseListener
public void removeMouseListener(MouseListener ml)
Remove Mouse Listener.- Overrides:
removeMouseListenerin classComponent- Parameters:
ml-
-
setActionCommand
public void setActionCommand(String actionCommand)
Set Action Command- Overrides:
setActionCommandin classJComboBox<E>- Parameters:
actionCommand- command
-
isMatchingFilter
protected boolean isMatchingFilter(Object element)
Called only when auto-reducing. By default, does a case insensitive string search for a match in the string representation of the given element.- Parameters:
element- an element in the combo box model- Returns:
- true if the choice is to be displayed in the popup menu
-
isAutoReducible
public boolean isAutoReducible()
Is the combo box auto-reducible?- Returns:
- true if isAutoReducible()
-
setAutoReducible
public void setAutoReducible(boolean autoreducible)
Set whether the combo box is auto-reducible. The combo box must also be editable for auto-reduction to fully functional. Auto-reduction of data will preclude the ability for users to enter in their own choices.- Parameters:
autoreducible- true will activate auto-reduction of choices when user enters text
-
isCaseSensitive
public boolean isCaseSensitive()
Is the auto-reduction case sensitive?- Returns:
- true if case sensitive
-
removeAllItems
public void removeAllItems()
- Overrides:
removeAllItemsin classJComboBox<E>
-
setCaseSensitive
public void setCaseSensitive(boolean caseSensitive)
Set whether auto-reduction is case sensitive.- Parameters:
caseSensitive- true will make auto-reduction is case sensitive
-
setShortListSearch
public void setShortListSearch(boolean shortList)
set the editor to return only short list items
-
isShortListSearch
public boolean isShortListSearch()
does the search should return only short list items ?
-
-