我是这样实现的:
JComboBox cb=new JComboBox(); cb.setRenderer(new MyCellRenderer()) ; 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;
}
}
这样做后是可以改变选择时的高亮背景色,但选择完了以后,JComboBox却自己又把我已经选种的那个条目的背景色变成深兰色了,郁闷。请问改怎么办?
JComboBox cb=new JComboBox(); cb.setRenderer(new MyCellRenderer()) ; 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;
}
}
这样做后是可以改变选择时的高亮背景色,但选择完了以后,JComboBox却自己又把我已经选种的那个条目的背景色变成深兰色了,郁闷。请问改怎么办?
大家都来帮忙啊!!