T
- the type of the list elementspublic abstract class GUIList<T extends GUIElement> extends ActivatableGUIElement implements GUIScrollable
GUIElement
that displays a list of entries.javax.swing.JComponent.AccessibleJComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Modifier | Constructor and Description |
---|---|
protected |
GUIList(@NotNull TooltipManager tooltipManager,
@NotNull GUIElementListener elementListener,
@NotNull java.lang.String name,
int cellWidth,
int cellHeight,
@NotNull GUIListCellRenderer<T> listCellRenderer,
@Nullable CommandList doubleClickCommandList,
@NotNull GuiFactory guiFactory)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addElement(T element)
Adds an
GUIElement to the list. |
boolean |
canMoveSelection(int diffLines,
int diffElements)
Returns whether the selection can be moved.
|
boolean |
canScroll(int distance)
Returns whether the list can be scrolled.
|
void |
dispose()
Releases all allocated resources.
|
void |
execute()
Executes the actions associated with this GUI element.
|
T |
getElement(int index)
Returns the
GUIElement for a given index. |
java.awt.Dimension |
getMaximumSize() |
java.awt.Dimension |
getMinimumSize() |
java.awt.Dimension |
getPreferredSize() |
protected @NotNull java.lang.Object |
getSelectedObject()
Returns the selected list object.
|
@Nullable TooltipText |
getTooltip()
Returns the current tooltip text.
|
protected abstract @Nullable java.lang.String |
getTooltip(int index)
Returns the tooltip text.
|
void |
mouseClicked(@NotNull java.awt.event.MouseEvent e)
Will be called when the user has clicked (pressed+released) this element.
|
void |
mouseDragged(@NotNull java.awt.event.MouseEvent e)
Will be called when the mouse moves within this component while the
button is pressed.
|
void |
mouseEntered(@NotNull java.awt.event.MouseEvent e)
Will be called when the mouse has entered the bounding box of this
element.
|
void |
mouseExited(@NotNull java.awt.event.MouseEvent e)
Will be called when the mouse has left the bounding box of this element.
|
void |
mouseMoved(@NotNull java.awt.event.MouseEvent e)
Will be called when the mouse moves within this component.
|
void |
mousePressed(@NotNull java.awt.event.MouseEvent e)
Will be called when the user has pressed the mouse inside this element.
|
void |
mouseWheelMoved(int wheelRotation)
Will be called when the mouse wheel has been moved.
|
void |
moveSelection(int diffLines,
int diffElements)
Moves the selection.
|
void |
resetScroll()
Resets the scroll index to the default value.
|
protected int |
resizeElements(int newSize)
Changes the number of list elements.
|
void |
scroll(int distance)
Moves the list.
|
protected void |
selectionChanged()
Called whenever the selected list entry has changed.
|
protected abstract void |
selectionChanged(int selectedIndex)
Called whenever the selected list entry has changed.
|
void |
setBounds(int x,
int y,
int width,
int height) |
void |
setChanged()
Records that the contents have changed and must be repainted.
|
protected void |
setLayoutOrientation(int layoutOrientation,
int visibleRowCount)
Sets the layout orientation.
|
protected void |
setSelectedIndex(int newIndex)
Update the selected list entry.
|
activateNextElement, activatePrevElement, activeChanged, isActive, markInactivePending, setActive, setInactiveIfPending, setNextActive, setPrevActive
getDialogBorderBottom, getDialogBorderLeft, getDialogBorderRight, getDialogBorderTop, getName, inhibitListeners, isDefault, isIgnore, mouseReleased, newTooltipText, setChangedListener, setDefault, setIgnore, tooltipChanged, toString
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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, 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
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
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, getPeer, 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, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
notifyOpen
protected GUIList(@NotNull @NotNull TooltipManager tooltipManager, @NotNull @NotNull GUIElementListener elementListener, @NotNull @NotNull java.lang.String name, int cellWidth, int cellHeight, @NotNull @NotNull GUIListCellRenderer<T> listCellRenderer, @Nullable @Nullable CommandList doubleClickCommandList, @NotNull @NotNull GuiFactory guiFactory)
tooltipManager
- the tooltip manager to updateelementListener
- the element listener to notifyname
- the name of this elementcellWidth
- the width of each cellcellHeight
- the height of each celllistCellRenderer
- the renderer for the listdoubleClickCommandList
- the command list to execute on double-click
or null
to ignore double-clicksguiFactory
- the global GUI factory instancepublic void dispose()
GUIElement
dispose
in interface GUIElement
dispose
in class AbstractGUIElement
@NotNull public T getElement(int index)
GUIElement
for a given index.index
- the indexprotected void addElement(@NotNull T element)
GUIElement
to the list.element
- the element to addprotected int resizeElements(int newSize)
addElement(GUIElement)
.newSize
- the new element countpublic boolean canMoveSelection(int diffLines, int diffElements)
diffLines
- the distance in lines to movediffElements
- the distance in elements to movepublic void moveSelection(int diffLines, int diffElements)
diffLines
- the distance in lines to movediffElements
- the distance in elements to movepublic boolean canScroll(int distance)
canScroll
in interface GUIScrollable
distance
- the distance to scrollpublic void scroll(int distance)
scroll
in interface GUIScrollable
distance
- the distance to scrollpublic void resetScroll()
GUIScrollable
resetScroll
in interface GUIScrollable
public void mouseClicked(@NotNull @NotNull java.awt.event.MouseEvent e)
GUIElement
GUIElement.mouseReleased(MouseEvent)
.mouseClicked
in interface GUIElement
mouseClicked
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void mouseEntered(@NotNull @NotNull java.awt.event.MouseEvent e)
GUIElement
mouseEntered
in interface GUIElement
mouseEntered
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void mouseExited(@NotNull @NotNull java.awt.event.MouseEvent e)
GUIElement
GUIElement.mouseEntered(MouseEvent)
has been called before.mouseExited
in interface GUIElement
mouseExited
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void mousePressed(@NotNull @NotNull java.awt.event.MouseEvent e)
ActivatableGUIElement
mousePressed
in interface GUIElement
mousePressed
in class ActivatableGUIElement
e
- the mouse event relative to this elementpublic void mouseMoved(@NotNull @NotNull java.awt.event.MouseEvent e)
GUIElement
mouseMoved
in interface GUIElement
mouseMoved
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void mouseDragged(@NotNull @NotNull java.awt.event.MouseEvent e)
GUIElement
GUIElement.mouseMoved(MouseEvent)
.
Note: if the mouse leaves this element's bounding box while the mouse
button is still pressed, further mouseDragged
(but no
mouseMoved
) events will be generated.
mouseDragged
in interface GUIElement
mouseDragged
in class AbstractGUIElement
e
- the mouse event relative to this elementpublic void mouseWheelMoved(int wheelRotation)
GUIElement
mouseWheelMoved
in interface GUIElement
mouseWheelMoved
in class AbstractGUIElement
wheelRotation
- the movement amount; negative=away from the user,
positive=towards the userprotected void setSelectedIndex(int newIndex)
newIndex
- the new selected list entryprotected void selectionChanged()
protected abstract void selectionChanged(int selectedIndex)
selectedIndex
- the selected list entrypublic void setChanged()
GUIElement
setChanged
in interface GUIElement
setChanged
in class AbstractGUIElement
@Nullable public @Nullable TooltipText getTooltip()
AbstractGUIElement
getTooltip
in class AbstractGUIElement
null
to not show a tooltippublic void execute()
ActivatableGUIElement
execute
in class ActivatableGUIElement
@Nullable protected abstract @Nullable java.lang.String getTooltip(int index)
index
- the index to useprotected void setLayoutOrientation(int layoutOrientation, int visibleRowCount)
JList.setLayoutOrientation(int)
and JList.setVisibleRowCount(int)
.layoutOrientation
- the layout orientationvisibleRowCount
- the number of visible rows@NotNull protected @NotNull java.lang.Object getSelectedObject()
null
if none is selectedpublic java.awt.Dimension getPreferredSize()
getPreferredSize
in class javax.swing.JComponent
public java.awt.Dimension getMinimumSize()
getMinimumSize
in class javax.swing.JComponent
public java.awt.Dimension getMaximumSize()
getMaximumSize
in class javax.swing.JComponent
public void setBounds(int x, int y, int width, int height)
setBounds
in class java.awt.Component