-
- 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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ComponentgetListCellRendererComponent(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 Detail
-
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'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
-
-