Du behöver speca en klass som renderar din combo. Observera att nedanstående kod inte visar lösningen utan bara tankegången.
JComboBox c = new JComboBox();
ListCellRenderer renderer = new ExampleComboRenderer();
c.setRenderer( renderer );
import javax.swing.DefaultListCellRenderer;
import javax.swing.*;
import javax.swing.JLabel;
import java.awt.Component;
import java.awt.Color;
public class ExampleComboRenderer extends DefaultListCellRenderer implements ListCellRenderer {
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
Component cell = super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
if( value instanceof Combo )
{
Combo c = (Combo) value;
cell.setBackground(isSelected ? Color.red : Color.white);
}
return cell;
}
}