TopBlend: Here is the first difference. There are 1 differences. is old. is new.

javax.swing
Interface ListCellRenderer

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 {
 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;
 }
 }
 
 class MyCellRenderer extends JLabel implements ListCellRenderer {
 public MyCellRenderer() {
 setOpaque(true);
 }
 public Component getListCellRendererComponent(
 JList list,
 Object value,
 int index,
 boolean isSelected,
 boolean cellHasFocus)
 {
 setText(value.toString());
 setBackground(isSelected ? Color.red : Color.white);
 setForeground(isSelected ? Color.white : Color.black);
 return this;
 }
 }
 

See Also:
JList , DefaultListCellRenderer

Method Summary
  Component getListCellRendererComponent ( JList  list, Object  value, int index, boolean isSelected, boolean cellHasFocus)
          Return a component that has been configured to display the specified value.
 

Method Detail

getListCellRendererComponent


Component getListCellRendererComponent(JList list,
                                       Object 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