Home » openjdk-7 » javax » swing » [javadoc | source]
javax.swing
public interface: ListCellRenderer [javadoc | source]

All Known Implementing Classes:
    SynthListCellRenderer, SynthComboBoxRenderer, BorderCellRenderer, FileRenderer, MsgFlowComponentRenderer, TestCellRenderer, ClassDefinitionRenderer, UIResource, UIResource, DefaultCellRenderer, FontStyleRenderer, DefaultListCellRenderer, BasicComboBoxRenderer, FilterComboBoxRenderer, DirectoryComboBoxRenderer

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:
{@code
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;
    }
}
}









    







    












    









    
Method from javax.swing.ListCellRenderer Summary:
getListCellRendererComponent
Method from javax.swing.ListCellRenderer Detail:
 public 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.