Package mgui.interfaces.gui
Class InterfaceComboBox
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JComboBox<java.lang.Object>
mgui.interfaces.gui.InterfaceComboBox
- 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
- Direct Known Subclasses:
 InterfaceGraphicPanel.GraphicWindowListRenderer
public class InterfaceComboBox
extends javax.swing.JComboBox<java.lang.Object>
Combo box which implements a variable width popup, which depends on the render mode and the
 length of its items:
 
 
Render Mode | Behaviour
 
AsBox       | Width is the same as the combo box width (default behaviour)
 
FixedWidth  | Width is fixed at a specific value
 
LongestItem | Width is at minimum the width of the combo box, otherwise the length of the longest item,
 up to a fixed maximum
 
 
Adapted from SteppedComboBox: http://www.devdaily.com/java/swing/tame/combobox/SteppedComboBox.java.shtml
- Version:
 - 1.0
 - Author:
 - Nobuo Tamemasa, Andrew Reid
 - See Also:
 - Serialized Form
 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classInterfaceComboBox.RenderModeNested classes/interfaces inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManagerNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainerNested 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 protected InterfaceComboBox.RenderModemodeprotected org.apache.commons.collections15.Transformer<java.lang.Object,java.lang.String>name_transformerprotected intpopupWidthFields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminderFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH - 
Constructor Summary
Constructors Constructor Description InterfaceComboBox()Constructor for this combo box, with default parametersInterfaceComboBox(java.lang.Object[] items)InterfaceComboBox(java.util.Vector items)InterfaceComboBox(javax.swing.ComboBoxModel aModel)InterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width)Constructor for this combo boxInterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, boolean model_name)Constructor for this combo boxInterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, javax.swing.Icon icon)Constructor for this combo boxInterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, javax.swing.Icon icon, boolean model_name)Constructor for this combo boxInterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, org.apache.commons.collections15.Transformer<java.lang.Object,java.lang.String> name_transformer)Constructor for this combo boxInterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, org.apache.commons.collections15.Transformer<java.lang.Object,java.lang.String> name_transformer, javax.swing.Icon icon)Constructor for this combo box - 
Method Summary
Modifier and Type Method Description InterfaceComboBoxcopy()Copies this combo box to a new combo box, containing the same items.protected intgetIconSize()java.awt.DimensiongetPopupSize()voidsetInsets(java.awt.Insets insets)voidsetPopupHeight(int height)voidsetPopupWidth(int width)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, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, updateUIMethods 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, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait 
- 
Field Details
- 
popupWidth
protected int popupWidth - 
mode
 - 
name_transformer
protected org.apache.commons.collections15.Transformer<java.lang.Object,java.lang.String> name_transformer 
 - 
 - 
Constructor Details
- 
InterfaceComboBox
public InterfaceComboBox()Constructor for this combo box, with default parameters - 
InterfaceComboBox
Constructor for this combo box- Parameters:
 mode- RenderMode specifying how items are to be rendered; one of: AsBox, LongestItem, FixedWidthshow_icons- Whether to show icons next to the objects (must be instances of IconObject).width- The desired width for the item box
 - 
InterfaceComboBox
public InterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, javax.swing.Icon icon)Constructor for this combo box- Parameters:
 mode- RenderMode specifying how items are to be rendered; one of: AsBox, LongestItem, FixedWidthshow_icons- Whether to show icons next to the objects (must be instances of IconObject).width- The desired width for the item boxicon- A default icon
 - 
InterfaceComboBox
public InterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, boolean model_name)Constructor for this combo box- Parameters:
 mode- RenderMode specifying how items are to be rendered; one of: AsBox, LongestItem, FixedWidthshow_icons- Whether to show icons next to the objects (must be instances of IconObject).width- The desired width for the item boxmodel_name- If the objects are InterfaceShape instances, displays their name as "model_name.shape_name".
 - 
InterfaceComboBox
public InterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, javax.swing.Icon icon, boolean model_name)Constructor for this combo box- Parameters:
 mode- RenderMode specifying how items are to be rendered; one of: AsBox, LongestItem, FixedWidthshow_icons- Whether to show icons next to the objects (must be instances of IconObject).width- The desired width for the item boxmodel_name- If the objects are InterfaceShape instances, displays their name as "model_name.shape_name".
 - 
InterfaceComboBox
public InterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, org.apache.commons.collections15.Transformer<java.lang.Object,java.lang.String> name_transformer)Constructor for this combo box- Parameters:
 mode- RenderMode specifying how items are to be rendered; one of: AsBox, LongestItem, FixedWidthshow_icons- Whether to show icons next to the objects (must be instances of IconObject).width- The desired width for the item boxname_transformer- The {@linkplain Transformer
 - 
InterfaceComboBox
public InterfaceComboBox(InterfaceComboBox.RenderMode mode, boolean show_icons, int width, org.apache.commons.collections15.Transformer<java.lang.Object,java.lang.String> name_transformer, javax.swing.Icon icon)Constructor for this combo box- Parameters:
 mode- RenderMode specifying how items are to be rendered; one of: AsBox, LongestItem, FixedWidthshow_icons- Whether to show icons next to the objects (must be instances of IconObject).width- The desired width for the item boxname_transformer- The {@linkplain Transformer
 - 
InterfaceComboBox
public InterfaceComboBox(javax.swing.ComboBoxModel aModel) - 
InterfaceComboBox
public InterfaceComboBox(java.lang.Object[] items) - 
InterfaceComboBox
public InterfaceComboBox(java.util.Vector items) 
 - 
 - 
Method Details
- 
copy
Copies this combo box to a new combo box, containing the same items.- Returns:
 
 - 
setInsets
public void setInsets(java.awt.Insets insets) - 
setPopupWidth
public void setPopupWidth(int width) - 
setPopupHeight
public void setPopupHeight(int height) - 
getPopupSize
public java.awt.Dimension getPopupSize() - 
getIconSize
protected int getIconSize() 
 -