- 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<E>
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;
     }
 }
 
 - Since:
- 1.2
- See Also:
- JList,- DefaultListCellRenderer
- 
Method SummaryModifier and TypeMethodDescriptiongetListCellRendererComponent(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 Details- 
getListCellRendererComponentComponent 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. That component'spaintmethod 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 whichgetPreferredSizecan 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,- ListSelectionModel,- ListModel
 
 
-