-
- 参数类型
-
E
- 可以使用此渲染器的值的类型
- 所有已知实现类:
-
BasicComboBoxRenderer
,BasicComboBoxRenderer.UIResource
,DefaultListCellRenderer
,DefaultListCellRenderer.UIResource
,MetalFileChooserUI.FileRenderer
,MetalFileChooserUI.FilterComboBoxRenderer
public interface ListCellRenderer<E>
识别可以用作“橡皮图章”来绘制JList中的单元格的组件。 例如,要使用JLabel作为ListCellRenderer,您可以这样写: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; } }
- 从以下版本开始:
- 1.2
- 另请参见:
-
JList
,DefaultListCellRenderer
-
-
方法详细信息
-
getListCellRendererComponent
Component getListCellRendererComponent(JList<? extends E> list, E value, int index, boolean isSelected, boolean cellHasFocus)
返回已配置为显示指定值的组件。 然后调用该组件的paint
方法“渲染”单元。 如果需要计算列表的维度,因为列表单元格不具有固定的大小,则调用此方法来生成可以调用getPreferredSize
的组件。- 参数
-
list
- 我们正在画的JList。 -
value
- 由list.getModel()返回的值getElementAt(index)。 -
index
- 细胞指数。 -
isSelected
- 如果指定的单元格被选中,isSelected
真。 -
cellHasFocus
- 如果指定的单元格具有焦点,cellHasFocus
真。 - 结果
- 其paint()方法将呈现指定值的组件。
- 另请参见:
-
JList
,ListSelectionModel
,ListModel
-
-