Package Summary Overview Summary

### class:ListCellRenderer [NONE]
- 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:getListCellRendererComponent(javax.swing.JList, E, int, boolean, boolean) [NONE]
- #### getListCellRendererComponent
      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. 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`, `ListSelectionModel`, `ListModel`