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
,ImageObserver
,MenuContainer
,Serializable
- Direct Known Subclasses:
GUICharOptionsComboBox
,GUIClassesComboBox
,GUIRacesComboBox
,GUIStartingMapsComboBox
A
GUIElement
that displays a combo box.- See Also:
-
Nested Class Summary
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 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
ConstructorsModifierConstructorDescriptionprotected
GUIComboBox
(@NotNull TooltipManager tooltipManager, @NotNull GUIElementListener elementListener, @NotNull String name, @Nullable GUILabelLog label, @NotNull GuiFactory guiFactory) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Releases all allocated resources.protected abstract @NotNull String
getDescription
(T item) Returns the description for an item.protected abstract @NotNull Component
getListCellRendererComponent
(@NotNull JList<? extends T> list, T value, int index, boolean selected, boolean cellHasFocus) Returns aComponent
that displays thevalue
.@Nullable TooltipText
Returns the current tooltip text.void
setBounds
(int x, int y, int width, int height) protected void
setSelectedItem
(T item) Updates the selected item.protected void
updateModel
(@Nullable List<T> elements) Updates entries shown in the combo box.protected void
Called whenever the selected item has changed.protected abstract void
updateSelectedItem
(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, mouseWheelMoved, 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 Details
-
GUIComboBox
protected GUIComboBox(@NotNull @NotNull TooltipManager tooltipManager, @NotNull @NotNull GUIElementListener elementListener, @NotNull @NotNull 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 ornull
guiFactory
- the global GUI factory instance
-
-
Method Details
-
dispose
public void dispose()Description copied from interface:GUIElement
Releases all allocated resources.- Specified by:
dispose
in interfaceGUIElement
- Overrides:
dispose
in classAbstractGUIElement
-
getPreferredSize
- Overrides:
getPreferredSize
in classJComponent
-
getMinimumSize
- Overrides:
getMinimumSize
in classJComponent
-
setBounds
public void setBounds(int x, int y, int width, int height) -
updateModel
Updates entries shown in the combo box.- Parameters:
elements
- the new entries to show
-
getListCellRendererComponent
@NotNull protected abstract @NotNull Component getListCellRendererComponent(@NotNull @NotNull JList<? extends T> list, @Nullable T value, int index, boolean selected, boolean cellHasFocus) Returns aComponent
that displays thevalue
.- Parameters:
list
- the list that contains the valuevalue
- the value that is displayed ornull
index
- 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
Will be called whenever the selected item has changed.- Parameters:
item
- the selected item
-
setSelectedItem
Updates the selected item.- Parameters:
item
- the new selected item
-
getDescription
Returns the description for an item.- Parameters:
item
- the item- Returns:
- the description
-
getTooltip
Description copied from class:AbstractGUIElement
Returns the current tooltip text.- Specified by:
getTooltip
in classAbstractGUIElement
- Returns:
- the tooltip text or
null
to not show a tooltip
-