javax.swing
Interface ListCellRenderer
All Known Implementing Classes
- BasicComboBoxRenderer, DefaultListCellRenderer
- 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()); 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
public 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