Class MultiComboBox<E>

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListDataListener

    public class MultiComboBox<E>
    extends javax.swing.JComboBox<java.lang.Object>
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JComboBox

        javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.awt.Color colour_fg  
      static java.awt.Color even_colour_bg  
      protected java.util.concurrent.CopyOnWriteArrayList<java.awt.event.ActionListener> listenerList
      We need to do the event handling ourselves; otherwise, listeners are called before we can do an update.
      static java.awt.Color odd_colour_bg  
      static java.awt.Color rollover_colour_bg  
      static java.awt.Color rollover_colour_fg  
      static java.awt.Color selection_colour_bg  
      static java.awt.Color selection_colour_fg  
      static java.awt.Color textfield_fg  
      • Fields inherited from class javax.swing.JComboBox

        actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
      • Fields inherited from class javax.swing.JComponent

        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
      MultiComboBox​(java.lang.Class<E> clazz, E[] aModel)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addActionListener​(java.awt.event.ActionListener l)
      Add an action listener.
      void addItem​(E item, boolean singular)
      Add an element to the combobox.
      void addItems​(E[] items, boolean allSingular)
      Add elements to the combobox.
      protected javax.swing.JList<E> getList()  
      java.lang.String getSelectedItem()
      Returns a string representation of the selected values.
      E[] getSelectedObjects()
      Return an array of selected objects.
      java.lang.String getTitle()  
      protected void notifyActionEvent()
      Notify listeners that something changed.
      void removeAllItems()  
      void setPopupVisible​(boolean v)  
      void setSelectedItem​(java.lang.Object anObject)  
      • Methods inherited from class javax.swing.JComboBox

        actionPerformed, actionPropertyChanged, 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, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyBinding, processKeyEvent, removeActionListener, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setUI, 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, 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, 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, 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, removeMouseListener, 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
    • Field Detail

      • textfield_fg

        public static final java.awt.Color textfield_fg
      • even_colour_bg

        public static final java.awt.Color even_colour_bg
      • odd_colour_bg

        public static final java.awt.Color odd_colour_bg
      • colour_fg

        public static final java.awt.Color colour_fg
      • rollover_colour_bg

        public static final java.awt.Color rollover_colour_bg
      • rollover_colour_fg

        public static final java.awt.Color rollover_colour_fg
      • selection_colour_bg

        public static final java.awt.Color selection_colour_bg
      • selection_colour_fg

        public static final java.awt.Color selection_colour_fg
      • listenerList

        protected java.util.concurrent.CopyOnWriteArrayList<java.awt.event.ActionListener> listenerList
        We need to do the event handling ourselves; otherwise, listeners are called before we can do an update.
    • Constructor Detail

      • MultiComboBox

        public MultiComboBox​(java.lang.Class<E> clazz,
                             E[] aModel)
    • Method Detail

      • addActionListener

        public void addActionListener​(java.awt.event.ActionListener l)
        Add an action listener.
        Overrides:
        addActionListener in class javax.swing.JComboBox<java.lang.Object>
      • notifyActionEvent

        protected void notifyActionEvent()
        Notify listeners that something changed.
      • getSelectedItem

        public java.lang.String getSelectedItem()
        Returns a string representation of the selected values. The objects themselves are not returned; use getSelectedItems() for that. Apologies for this annoyance, but the unaccessible paint() method in SlickerFactory calls this.
        Overrides:
        getSelectedItem in class javax.swing.JComboBox<java.lang.Object>
      • setSelectedItem

        public void setSelectedItem​(java.lang.Object anObject)
        Overrides:
        setSelectedItem in class javax.swing.JComboBox<java.lang.Object>
      • getSelectedObjects

        public E[] getSelectedObjects()
        Return an array of selected objects.
        Specified by:
        getSelectedObjects in interface java.awt.ItemSelectable
        Overrides:
        getSelectedObjects in class javax.swing.JComboBox<java.lang.Object>
      • getTitle

        public java.lang.String getTitle()
        Returns:
        A human-readable summary that represents the selection.
      • getList

        protected javax.swing.JList<E> getList()
      • setPopupVisible

        public void setPopupVisible​(boolean v)
        Overrides:
        setPopupVisible in class javax.swing.JComboBox<java.lang.Object>
      • addItems

        public void addItems​(E[] items,
                             boolean allSingular)
        Add elements to the combobox.
        Parameters:
        items - The elements to be added.
        allSingular - True means that each added element can only be selected by itself. For these elements, the checkbox will not be drawn.
      • addItem

        public void addItem​(E item,
                            boolean singular)
        Add an element to the combobox.
        Parameters:
        item - The element to be added.
        singular - If true, this element can only be selected on its own, i.e there is no possibility to select another element as well.
      • removeAllItems

        public void removeAllItems()
        Overrides:
        removeAllItems in class javax.swing.JComboBox<java.lang.Object>