T - Data model class.javax.swing.ListCellRenderer<T>public abstract class SubstancePanelListCellRenderer<T>
extends javax.swing.JPanel
implements javax.swing.ListCellRenderer<T>
SubstanceDefaultListCellRenderer. Extend this class to have consistent
highlight visuals and animations under all Substance skins. The flow of layout and
data is:
bindData(JList, Object, int) bind the relevant data fields to those
sub-components.registerThemeAwareLabelsWithText(JLabel...) in the constructor
to "mark" those sub-component labels that should participate in highlight animations
on their text based on the current state (rollover, selection, etc). In case a specific
label is using a fixed foreground / text color for some of the rows in your list, use
registerThemeAwareLabelsWithText(JLabel...) and
unregisterThemeAwareLabelsWithText(JLabel...) in
onPreRender(JList, Object, int) instead of in the constructor.registerThemeAwareLabelWithIcon(JLabel, ResizableIcon.Factory, Dimension)
in the constructor to "mark" those sub-component labels that should participate in highlight
animations on their icons based on the current state (rollover, selection, etc). In case a
specific label is using a fixed icon for some of the rows in your list or different icon
sources for different rows, use
registerThemeAwareLabelWithIcon(JLabel, ResizableIcon.Factory, Dimension) and
unregisterThemeAwareLabelWithIcon(JLabel) in
onPreRender(JList, Object, int) instead of in the constructor.getListCellRendererComponent(JList, Object, int, boolean, boolean) in this
class is marked as final and can not be overriden in the application code.java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategyjava.awt.Container.AccessibleAWTContaineraccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT| Constructor | Description |
|---|---|
SubstancePanelListCellRenderer() |
| Modifier and Type | Method | Description |
|---|---|---|
protected abstract void |
bindData(javax.swing.JList<? extends T> list,
T value,
int index) |
|
java.awt.Component |
getListCellRendererComponent(javax.swing.JList<? extends T> list,
T value,
int index,
boolean isSelected,
boolean cellHasFocus) |
|
protected void |
onPreRender(javax.swing.JList<? extends T> list,
T value,
int index) |
|
protected void |
registerThemeAwareLabelsWithText(javax.swing.JLabel... labels) |
|
protected void |
registerThemeAwareLabelWithIcon(javax.swing.JLabel label,
org.pushingpixels.neon.icon.ResizableIcon.Factory resizableIconFactory,
java.awt.Dimension iconDimension) |
|
protected void |
unregisterThemeAwareLabelsWithText(javax.swing.JLabel... labels) |
|
protected void |
unregisterThemeAwareLabelWithIcon(javax.swing.JLabel label) |
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, 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, transferFocusUpCycleadd, 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, validateTreeaddAncestorListener, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateprotected void registerThemeAwareLabelsWithText(javax.swing.JLabel... labels)
protected void unregisterThemeAwareLabelsWithText(javax.swing.JLabel... labels)
protected void registerThemeAwareLabelWithIcon(javax.swing.JLabel label,
org.pushingpixels.neon.icon.ResizableIcon.Factory resizableIconFactory,
java.awt.Dimension iconDimension)
protected void unregisterThemeAwareLabelWithIcon(javax.swing.JLabel label)
public final java.awt.Component getListCellRendererComponent(javax.swing.JList<? extends T> list, T value, int index, boolean isSelected, boolean cellHasFocus)
getListCellRendererComponent in interface javax.swing.ListCellRenderer<T>