- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- util.ui.customizableitems.SelectableItemList<E>
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ListSelectionListener
public class SelectableItemList<E> extends javax.swing.JPanel implements javax.swing.event.ListSelectionListener
A class that provides a list that contains selectable items.- Author:
- René Mach
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
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 Constructor Description SelectableItemList(E[] currSelection, E[] allItems)
Creates the SelectableItemList without the selection buttons.SelectableItemList(E[] currSelection, E[] allItems, boolean showSelectionButtons)
Creates the SelectableItemList.SelectableItemList(E[] currSelection, E[] allItems, boolean showSelectionButtons, E[] notSelectableItems)
Creates the SelectableItemList.SelectableItemList(E[] currSelection, E[] allItems, E[] notSelectableItems)
Creates the SelectableItemList without the selection buttons.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addCenterRendererComponent(java.lang.Class<?> clazz, SelectableItemRendererCenterComponentIf<E> component)
Adds the render component that is to be used for the given class or it's super class.void
addListSelectionListener(javax.swing.event.ListSelectionListener listener)
void
addMouseListener(java.awt.event.MouseListener listener)
Adds a mouse listener to the list.void
calculateSize()
Calculates the size of the list.void
clearSelection()
Clear the selection.int
getItemCount()
java.lang.Object[]
getListSelection()
Deprecated.since 3.4.5 usegetListSelectionList()
insteadjava.util.List<E>
getListSelectionList()
Current selected Items in the List.SelectableItem<E>
getSelectedValue()
java.lang.Object[]
getSelection()
Deprecated.since 3.4.5 usegetSelectionList()
instead.java.util.List<E>
getSelectionList()
Attention: This is not a List with all selected Items in the List.void
invertSelection()
Invert the selectionboolean
isEmpty()
Gets if this selectable item list is empty.void
removeListSelectionListener(javax.swing.event.ListSelectionListener listener)
void
selectAll()
Select all items.void
setEnabled(boolean value)
void
setFilterComboBox(javax.swing.JComboBox<? extends ItemFilter> filterBox)
Sets the combo box that contains ItemFilters to filter the shown values of the list.void
setHorizontalScrollBarPolicy(int value)
Sets if the horizontal scroll policy.void
setListUI(javax.swing.plaf.ListUI ui)
Sets the UI to be used for the list.void
setNameFilter(ItemFilter nameFilter)
Sets the name filter for the shown values of the list.void
setSelectedIndex(int index)
set the (focus) selection to the item with the given indexvoid
setSelectionMode(int selectionMode)
void
setVerticalScrollBarBlockIncrement(int value)
Sets the vertical scroll bar block incrementvoid
updateCurrentSelection()
void
valueChanged(javax.swing.event.ListSelectionEvent e)
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, 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, 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
-
-
-
-
Constructor Detail
-
SelectableItemList
public SelectableItemList(E[] currSelection, E[] allItems)
Creates the SelectableItemList without the selection buttons.- Parameters:
currSelection
- The currently selected Objects.allItems
- All Objects of the list.
-
SelectableItemList
public SelectableItemList(E[] currSelection, E[] allItems, E[] notSelectableItems)
Creates the SelectableItemList without the selection buttons.- Parameters:
currSelection
- The currently selected Objects.allItems
- All Objects of the list.notSelectableItems
- All Objects that could not be selected/deselected- Since:
- 2.7.2
-
SelectableItemList
public SelectableItemList(E[] currSelection, E[] allItems, boolean showSelectionButtons)
Creates the SelectableItemList.- Parameters:
currSelection
- The currently selected Objects.allItems
- All Objects of the list.showSelectionButtons
- If the selection buttons should be shown.
-
SelectableItemList
public SelectableItemList(E[] currSelection, E[] allItems, boolean showSelectionButtons, E[] notSelectableItems)
Creates the SelectableItemList.- Parameters:
currSelection
- The currently selected Objects.allItems
- All Objects of the list.showSelectionButtons
- If the selection buttons should be shown.notSelectableItems
- All Objects that could not be selected/deselected- Since:
- 2.7.2
-
-
Method Detail
-
updateCurrentSelection
public void updateCurrentSelection()
-
addListSelectionListener
public void addListSelectionListener(javax.swing.event.ListSelectionListener listener)
- Parameters:
listener
- Add this Listener- Since:
- 2.5
-
removeListSelectionListener
public void removeListSelectionListener(javax.swing.event.ListSelectionListener listener)
- Parameters:
listener
- Remove this Listener- Since:
- 2.5
-
setSelectionMode
public void setSelectionMode(int selectionMode)
- Parameters:
selectionMode
- The selection mode of the list.- Since:
- 2.5
-
getListSelection
@Deprecated(since="3.4.5") public java.lang.Object[] getListSelection()
Deprecated.since 3.4.5 usegetListSelectionList()
insteadCurrent selected Items in the List. Attention: This is not a List with all activated Items.- Returns:
- Current selected Items in the List
- Since:
- 2.5
-
getListSelectionList
public java.util.List<E> getListSelectionList()
Current selected Items in the List. Attention: This is not a List with all activated Items.- Returns:
- Current selected Items in the List
- Since:
- 3.4.5
-
getSelection
@Deprecated(since="3.4.5") public java.lang.Object[] getSelection()
Deprecated.since 3.4.5 usegetSelectionList()
instead.Attention: This is not a List with all selected Items in the List. This List is a List with all checked Items- Returns:
- The selected Objects
-
getSelectionList
public java.util.List<E> getSelectionList()
Attention: This is not a List with all selected Items in the List. This List is a List with all checked Items- Returns:
- The selected Objects
- Since:
- 3.4.5
-
getSelectedValue
public SelectableItem<E> getSelectedValue()
- Returns:
- The current selected value (value that has focus)
- Since:
- 2.5
-
setSelectedIndex
public void setSelectedIndex(int index)
set the (focus) selection to the item with the given index- Parameters:
index
- The index.- Since:
- 3.0
-
invertSelection
public void invertSelection()
Invert the selection
-
selectAll
public void selectAll()
Select all items.
-
clearSelection
public void clearSelection()
Clear the selection.
-
setEnabled
public void setEnabled(boolean value)
- Overrides:
setEnabled
in classjavax.swing.JComponent
-
calculateSize
public void calculateSize()
Calculates the size of the list.
-
addCenterRendererComponent
public void addCenterRendererComponent(java.lang.Class<?> clazz, SelectableItemRendererCenterComponentIf<E> component)
Adds the render component that is to be used for the given class or it's super class.- Parameters:
clazz
- The class to use the render component for, the render component is also used for the super class of clazz.component
- The render component.- Since:
- 2.7
-
setListUI
public void setListUI(javax.swing.plaf.ListUI ui)
Sets the UI to be used for the list.- Parameters:
ui
- The list ui that should be used for the list.- Since:
- 2.7
-
setHorizontalScrollBarPolicy
public void setHorizontalScrollBarPolicy(int value)
Sets if the horizontal scroll policy.- Parameters:
value
- The values from ScrollPaneConstants.- Since:
- 2.7
-
addMouseListener
public void addMouseListener(java.awt.event.MouseListener listener)
Adds a mouse listener to the list.- Overrides:
addMouseListener
in classjava.awt.Component
- Parameters:
listener
- The listener to add.- Since:
- 2.7
-
setFilterComboBox
public void setFilterComboBox(javax.swing.JComboBox<? extends ItemFilter> filterBox)
Sets the combo box that contains ItemFilters to filter the shown values of the list.- Parameters:
filterBox
- The combo box with the ItemFilters.- Since:
- 2.7
-
setNameFilter
public void setNameFilter(ItemFilter nameFilter)
Sets the name filter for the shown values of the list.- Parameters:
nameFilter
- The name filter for the list- Since:
- 4.2.2
-
getItemCount
public int getItemCount()
-
setVerticalScrollBarBlockIncrement
public void setVerticalScrollBarBlockIncrement(int value)
Sets the vertical scroll bar block increment- Parameters:
value
- The scroll bar block increment- Since:
- 3.1
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)
- Specified by:
valueChanged
in interfacejavax.swing.event.ListSelectionListener
-
isEmpty
public boolean isEmpty()
Gets if this selectable item list is empty.- Returns:
true
if this list is empty.- Since:
- 3.4.3
-
-