//表JComboBox数据
String[] status = { "启用", "禁用", "停用" };
JComboBox com = new JComboBox(status);
JComboBoxRenderer select=new JComboBoxRenderer();
com.setRenderer(select);
//ListCellRenderer监听
class JComboBoxRenderer extends JLabel implements ListCellRenderer {
public JComboBoxRenderer() {
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.yellow;
foreground = Color.BLACK;
};
setBackground(background);
setForeground(foreground);
return this;
}
}