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 String
AUTO_REDUCIBLE_PROPERTY
Property key for auto-reduction.static String
CASE_SENSITIVE_PROPERTY
Property key for case sensitive auto-reduction.static int
FIELD_HIGHT
Field 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 aJComboBox
with a default data model.CComboBox(E[] items)
Creates aJComboBox
that contains the elements in the specified array.CComboBox(E[] items, String key)
Creates aJComboBox
that contains the elements in the specified array.CComboBox(Vector<E> items)
Creates aJComboBox
that contains the elements in the specified Vector.CComboBox(ComboBoxModel<E> aModel)
Creates aJComboBox
that takes it's items from an existingComboBoxModel
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMouseListener(MouseListener ml)
Add Mouse Listener - 1-4-0 Bug.boolean
displayPopup()
Display Popup.ComboBoxModel<E>
getCompleteComboBoxModel()
String
getDisplay()
Return Display ValueObject
getValue()
Return Editor valueboolean
isAutoReducible()
Is the combo box auto-reducible?boolean
isCaseSensitive()
Is the auto-reduction case sensitive?boolean
isMandatory()
Is Field mandatoryprotected boolean
isMatchingFilter(Object element)
Called only when auto-reducing.boolean
isReadWrite()
Is it possible to editboolean
isShortListSearch()
does the search should return only short list items ?void
removeAllItems()
void
removeMouseListener(MouseListener ml)
Remove Mouse Listener.void
setActionCommand(String actionCommand)
Set Action Commandvoid
setAutoReducible(boolean autoreducible)
Set whether the combo box is auto-reducible.void
setBackground(boolean error)
Set Background based on editable / mandatory / errorvoid
setBackground(Color bg)
Set Backgroundvoid
setCaseSensitive(boolean caseSensitive)
Set whether auto-reduction is case sensitive.void
setIcon(Icon defaultIcon)
Set Icon of arrow button to iconvoid
setMandatory(boolean mandatory)
Set Editor Mandatoryvoid
setModel(ComboBoxModel<E> aModel)
void
setReadWrite(boolean rw)
Enable Editorvoid
setShortListSearch(boolean shortList)
set the editor to return only short list itemsvoid
setUI(ComboBoxUI ui)
Set UI and re-set Icon for arrow buttonvoid
setValue(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 aJComboBox
that takes it's items from an existingComboBoxModel
. Since theComboBoxModel
is 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
- theComboBoxModel
that provides the displayed list of items- See Also:
DefaultComboBoxModel
-
CComboBox
public CComboBox(E[] items)
Creates aJComboBox
that 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 aJComboBox
that 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 aJComboBox
that 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 aJComboBox
with a default data model. The default data model is an empty list of objects. UseaddItem
to 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:
setModel
in 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:
setMandatory
in interfaceCEditor
- Parameters:
mandatory
- true, if you have to enter data
-
isMandatory
public boolean isMandatory()
Is Field mandatory- Specified by:
isMandatory
in interfaceCEditor
- Returns:
- true, if mandatory
-
setReadWrite
public void setReadWrite(boolean rw)
Enable Editor- Specified by:
setReadWrite
in interfaceCEditor
- Parameters:
rw
- true, if you can enter/select data
-
isReadWrite
public boolean isReadWrite()
Is it possible to edit- Specified by:
isReadWrite
in interfaceCEditor
- Returns:
- true, if editable
-
setBackground
public void setBackground(boolean error)
Set Background based on editable / mandatory / error- Specified by:
setBackground
in interfaceCEditor
- Parameters:
error
- if true, set background to error color, otherwise mandatory/editable
-
setBackground
public void setBackground(Color bg)
Set Background- Overrides:
setBackground
in 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:
getDisplay
in 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:
addMouseListener
in classComponent
- Parameters:
ml
-- See Also:
CompiereComboBoxUI.installUI(JComponent)
-
removeMouseListener
public void removeMouseListener(MouseListener ml)
Remove Mouse Listener.- Overrides:
removeMouseListener
in classComponent
- Parameters:
ml
-
-
setActionCommand
public void setActionCommand(String actionCommand)
Set Action Command- Overrides:
setActionCommand
in 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:
removeAllItems
in 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 ?
-
-