com.alee.extended.list
Class WebCheckBoxList

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JList
                  extended by com.alee.laf.list.WebList
                      extended by com.alee.extended.list.WebCheckBoxList
All Implemented Interfaces:
FontMethods<WebList>, SizeMethods<WebList>, SwingMethods, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

public class WebCheckBoxList
extends WebList

This component offers a checkbox list functionality. Each cell acts as a separate checkbox, but it could be selected like the elements in simple list. You can also perform mass check/uncheck operations by selection more than one checkbox and pressing space.

Author:
Mikle Garin
See Also:
Serialized Form

Nested Class Summary
protected  class WebCheckBoxList.CheckBoxListKeyAdapter
          Custom checkbox list key adapter that handles checkbox selection changes.
protected  class WebCheckBoxList.CheckBoxListMouseAdapter
          Custom checkbox list mouse adapter that handles checkbox selection changes.
 
Nested classes/interfaces inherited from class javax.swing.JList
javax.swing.JList.AccessibleJList, javax.swing.JList.DropLocation
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested 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
protected  boolean checkOnIconOnly
          Whether checkbox selection should be performed only when user clicks exactly on the check icon or not.
 
Fields inherited from class com.alee.laf.list.WebList
editable, editedCell, editListeners, listCellEditor, unselectable
 
Fields inherited from class javax.swing.JList
HORIZONTAL_WRAP, VERTICAL, VERTICAL_WRAP
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
WebCheckBoxList()
          Constructs empty checkbox list.
WebCheckBoxList(CheckBoxListModel model)
          Constructs checkbox list with a specified model.
 
Method Summary
protected  ListCellEditor createDefaultCellEditor()
          Returns default list cell editor for this list.
 CheckBoxListModel getCheckBoxListModel()
          Returns custom checkbox list cell model.
 java.util.List<java.lang.Object> getCheckedValues()
          Returns list of values from checked cells.
 WebCheckBoxListCellRenderer getWebCheckBoxListCellRenderer()
          Returns custom checkbox list cell renderer.
 void invertCheckBoxSelection(int index)
          Inverts checkbox selection at the specified cell index.
 boolean isCheckBoxSelected(int index)
          Returns whether checkbox under the specified cell index is selected or not.
 boolean isCheckOnIconOnly()
          Returns whether checkbox selection should be performed only when user clicks exactly on the check icon or not.
protected  void performAnimation(int index)
          Performs required list repaints to support checkbox animation.
 void setCheckBoxSelected(int index, boolean selected)
          Sets whether checkbox at the specified cell index is selected or not.
 void setCheckOnIconOnly(boolean checkOnIconOnly)
          Sets whether checkbox selection should be performed only when user clicks exactly on the check icon or not.
 
Methods inherited from class com.alee.laf.list.WebList
addListDataListener, addListEditListener, changeFontSize, editCell, editSelectedCell, fireEditCancelled, fireEditFinished, fireEditStarted, getCellEditor, getEditedCell, getFontName, getFontSize, getMinimumHeight, getMinimumWidth, getModelSize, getPreferredHeight, getPreferredSize, getPreferredWidth, getSelectionRound, getSelectionShadeWidth, getValueAt, getWebListCellRenderer, getWebModel, getWebUI, isAutoScrollToSelection, isBoldFont, isDecorateSelection, isEditable, isEditing, isHighlightRolloverCell, isItalicFont, isPlainFont, isRolloverSelectionEnabled, isUnselectable, removeCellEditor, removeListDataListener, removeListEditListener, repaint, repaint, repaint, scrollToCell, setAutoScrollToSelection, setBoldFont, setBoldFont, setCellEditor, setDecorateSelection, setEditable, setFontName, setFontSize, setFontSizeAndStyle, setFontSizeAndStyle, setFontStyle, setFontStyle, setHighlightRolloverCell, setItalicFont, setItalicFont, setMinimumHeight, setMinimumWidth, setMultiplySelectionAllowed, setPlainFont, setPlainFont, setPreferredHeight, setPreferredWidth, setRolloverSelectionEnabled, setSelectedValue, setSelectedValues, setSelectedValues, setSelectedValues, setSelectionRound, setSelectionShadeWidth, setUnselectable, stopCellEditing, updateUI
 
Methods inherited from class javax.swing.JList
addListSelectionListener, addSelectionInterval, clearSelection, createSelectionModel, ensureIndexIsVisible, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellBounds, getCellRenderer, getDragEnabled, getDropLocation, getDropMode, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLayoutOrientation, getLeadSelectionIndex, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getModel, getNextMatch, getPreferredScrollableViewportSize, getPrototypeCellValue, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getToolTipText, getUI, getUIClassID, getValueIsAdjusting, getVisibleRowCount, indexToLocation, isSelectedIndex, isSelectionEmpty, locationToIndex, paramString, removeListSelectionListener, removeSelectionInterval, setCellRenderer, setDragEnabled, setDropMode, setFixedCellHeight, setFixedCellWidth, setLayoutOrientation, setListData, setListData, setModel, setPrototypeCellValue, setSelectedIndex, setSelectedIndices, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionInterval, setSelectionMode, setSelectionModel, setUI, setValueIsAdjusting, setVisibleRowCount
 
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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, setEnabled, 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, transferFocusBackward, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

checkOnIconOnly

protected boolean checkOnIconOnly
Whether checkbox selection should be performed only when user clicks exactly on the check icon or not.

Constructor Detail

WebCheckBoxList

public WebCheckBoxList()
Constructs empty checkbox list.


WebCheckBoxList

public WebCheckBoxList(CheckBoxListModel model)
Constructs checkbox list with a specified model.

Method Detail

getWebCheckBoxListCellRenderer

public WebCheckBoxListCellRenderer getWebCheckBoxListCellRenderer()
Returns custom checkbox list cell renderer.

Returns:
custom checkbox list cell renderer

getCheckBoxListModel

public CheckBoxListModel getCheckBoxListModel()
Returns custom checkbox list cell model.

Returns:
custom checkbox list cell model

createDefaultCellEditor

protected ListCellEditor createDefaultCellEditor()
Returns default list cell editor for this list.

Overrides:
createDefaultCellEditor in class WebList
Returns:
default list cell editor for this list

isCheckBoxSelected

public boolean isCheckBoxSelected(int index)
Returns whether checkbox under the specified cell index is selected or not.

Parameters:
index - cell index
Returns:
true if checkbox at the specified cell index is selected, false otherwise

invertCheckBoxSelection

public void invertCheckBoxSelection(int index)
Inverts checkbox selection at the specified cell index.

Parameters:
index - cell index

setCheckBoxSelected

public void setCheckBoxSelected(int index,
                                boolean selected)
Sets whether checkbox at the specified cell index is selected or not.

Parameters:
index - cell index
selected - whether checkbox is selected or not

getCheckedValues

public java.util.List<java.lang.Object> getCheckedValues()
Returns list of values from checked cells.

Returns:
list of values from checked cells

performAnimation

protected void performAnimation(int index)
Performs required list repaints to support checkbox animation.

Parameters:
index - cell index

isCheckOnIconOnly

public boolean isCheckOnIconOnly()
Returns whether checkbox selection should be performed only when user clicks exactly on the check icon or not.

Returns:
true if checkbox selection should be performed only when user clicks exactly on the check icon, false otherwise

setCheckOnIconOnly

public void setCheckOnIconOnly(boolean checkOnIconOnly)
Sets whether checkbox selection should be performed only when user clicks exactly on the check icon or not.

Parameters:
checkOnIconOnly - whether checkbox selection should be performed only when user clicks exactly on the check icon or not