Class GUIComboBox<T>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement
-
- com.realtime.crossfire.jxclient.gui.combobox.GUIComboBox<T>
-
- Type Parameters:
T- the type of the entries of this list
- All Implemented Interfaces:
GUIElement,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable
- Direct Known Subclasses:
GUICharOptionsComboBox,GUIClassesComboBox,GUIRacesComboBox,GUIStartingMapsComboBox
public abstract class GUIComboBox<T> extends AbstractGUIElement
AGUIElementthat displays a combo box.- See Also:
- Serialized Form
-
-
Field Summary
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedGUIComboBox(@NotNull TooltipManager tooltipManager, @NotNull GUIElementListener elementListener, @NotNull java.lang.String name, @Nullable GUILabelLog label, @NotNull GuiFactory guiFactory)Creates a new instance.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voiddispose()Releases all allocated resources.protected abstract @NotNull java.lang.StringgetDescription(T item)Returns the description for an item.protected abstract @NotNull java.awt.ComponentgetListCellRendererComponent(@NotNull javax.swing.JList<? extends T> list, T value, int index, boolean selected, boolean cellHasFocus)Returns aComponentthat displays thevalue.java.awt.DimensiongetMinimumSize()java.awt.DimensiongetPreferredSize()@Nullable TooltipTextgetTooltip()Returns the current tooltip text.voidsetBounds(int x, int y, int width, int height)protected voidsetSelectedItem(T item)Updates the selected item.protected voidupdateModel(@Nullable java.util.List<T> elements)Updates entries shown in the combo box.protected voidupdateSelectedItem()Called whenever the selected item has changed.protected abstract voidupdateSelectedItem(T item)Will be called whenever the selected item has changed.-
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement
getDialogBorderBottom, getDialogBorderLeft, getDialogBorderRight, getDialogBorderTop, getName, inhibitListeners, isDefault, isIgnore, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, newTooltipText, setChanged, setChangedListener, setDefault, setIgnore, tooltipChanged, toString
-
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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
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, getAccessibleContext, 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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.realtime.crossfire.jxclient.gui.gui.GUIElement
notifyOpen
-
-
-
-
Constructor Detail
-
GUIComboBox
protected GUIComboBox(@NotNull @NotNull TooltipManager tooltipManager, @NotNull @NotNull GUIElementListener elementListener, @NotNull @NotNull java.lang.String name, @Nullable @Nullable GUILabelLog label, @NotNull @NotNull GuiFactory guiFactory)Creates a new instance.- Parameters:
tooltipManager- the tooltip manager to updateelementListener- the element listener to notifyname- the name of this elementlabel- the label to update ornullguiFactory- the global GUI factory instance
-
-
Method Detail
-
dispose
public void dispose()
Description copied from interface:GUIElementReleases all allocated resources.- Specified by:
disposein interfaceGUIElement- Overrides:
disposein classAbstractGUIElement
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
- Overrides:
getPreferredSizein classjavax.swing.JComponent
-
getMinimumSize
public java.awt.Dimension getMinimumSize()
- Overrides:
getMinimumSizein classjavax.swing.JComponent
-
setBounds
public void setBounds(int x, int y, int width, int height)- Overrides:
setBoundsin classjava.awt.Component
-
updateModel
protected void updateModel(@Nullable @Nullable java.util.List<T> elements)Updates entries shown in the combo box.- Parameters:
elements- the new entries to show
-
getListCellRendererComponent
@NotNull protected abstract @NotNull java.awt.Component getListCellRendererComponent(@NotNull @NotNull javax.swing.JList<? extends T> list, @Nullable T value, int index, boolean selected, boolean cellHasFocus)Returns aComponentthat displays thevalue.- Parameters:
list- the list that contains the valuevalue- the value that is displayed ornullindex- the list indexselected- whether the value is selectedcellHasFocus- whether the value has the focus- Returns:
- the component to render the value
-
updateSelectedItem
protected void updateSelectedItem()
Called whenever the selected item has changed.
-
updateSelectedItem
protected abstract void updateSelectedItem(@Nullable T item)Will be called whenever the selected item has changed.- Parameters:
item- the selected item
-
setSelectedItem
protected void setSelectedItem(@NotNull T item)Updates the selected item.- Parameters:
item- the new selected item
-
getDescription
@NotNull protected abstract @NotNull java.lang.String getDescription(@Nullable T item)Returns the description for an item.- Parameters:
item- the item- Returns:
- the description
-
getTooltip
@Nullable public @Nullable TooltipText getTooltip()
Description copied from class:AbstractGUIElementReturns the current tooltip text.- Specified by:
getTooltipin classAbstractGUIElement- Returns:
- the tooltip text or
nullto not show a tooltip
-
-