ListCellRenderer (Java Platform SE 8 ) (original) (raw)
- Type Parameters:
E
- the type of values this renderer can be used for
All Known Implementing Classes:
BasicComboBoxRenderer, BasicComboBoxRenderer.UIResource, DefaultListCellRenderer, DefaultListCellRenderer.UIResource, MetalFileChooserUI.FileRenderer, MetalFileChooserUI.FilterComboBoxRenderer
public interface ListCellRenderer
Identifies components that can be used as "rubber stamps" to paint the cells in a JList. For example, to use a JLabel as a ListCellRenderer, you would write something like this:
class MyCellRenderer extends JLabel implements ListCellRenderer<Object> { public MyCellRenderer() { setOpaque(true); } public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { setText(value.toString()); Color background; Color foreground; // check if this cell represents the current DnD drop location JList.DropLocation dropLocation = list.getDropLocation(); if (dropLocation != null && !dropLocation.isInsert() && dropLocation.getIndex() == index) { background = Color.BLUE; foreground = Color.WHITE; // check if this cell is selected } else if (isSelected) { background = Color.RED; foreground = Color.WHITE; // unselected, and not the DnD drop location } else { background = Color.WHITE; foreground = Color.BLACK; }; setBackground(background); setForeground(foreground); return this; } }
See Also:
JList, DefaultListCellRenderer
Method Summary
All Methods Instance Methods Abstract Methods
Modifier and Type Method Description Component getListCellRendererComponent(JList<? extends E> list,E value, int index, boolean isSelected, boolean cellHasFocus) Return a component that has been configured to display the specified value. Method Detail
* #### getListCellRendererComponent [Component](../../java/awt/Component.html "class in java.awt") getListCellRendererComponent([JList](../../javax/swing/JList.html "class in javax.swing")<? extends [E](../../javax/swing/ListCellRenderer.html "type parameter in ListCellRenderer")> list, [E](../../javax/swing/ListCellRenderer.html "type parameter in ListCellRenderer") value, int index, boolean isSelected, boolean cellHasFocus) Return a component that has been configured to display the specified value. That component's `paint` method is then called to "render" the cell. If it is necessary to compute the dimensions of a list because the list cells do not have a fixed size, this method is called to generate a component on which `getPreferredSize` can be invoked. Parameters: `list` \- The JList we're painting. `value` \- The value returned by list.getModel().getElementAt(index). `index` \- The cells index. `isSelected` \- True if the specified cell was selected. `cellHasFocus` \- True if the specified cell has the focus. Returns: A component whose paint() method will render the specified value. See Also: [JList](../../javax/swing/JList.html "class in javax.swing"), [ListSelectionModel](../../javax/swing/ListSelectionModel.html "interface in javax.swing"), [ListModel](../../javax/swing/ListModel.html "interface in javax.swing")
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.