Hallo,
ich habe eine JComboBox bei dem manche Items eine andere Hintergrundfarbe haben. Realisiert über einen Renderer. (In diese Beispiel ist nur das erste Item Rot):
Nun wird das erste Item zwar in der aufgeklappten Liste Rot angezeigt, das jeweils gewählte hat aber immer die gleiche Farbe. Wenn ich z.B. über einen Listener comboBox.setBackground(Color.RED) setzte, wenn das erste Item ausgewählt wurde, so wird nur der Pfeil, sowie die Auswahlliste komplett Rot, das Textfeld aber nicht.
MfG MasterChristian
ich habe eine JComboBox bei dem manche Items eine andere Hintergrundfarbe haben. Realisiert über einen Renderer. (In diese Beispiel ist nur das erste Item Rot):
Java:
public class itemRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if(index == 0) {
c.setBackground(Color.RED);
c.setForeground(Color.WHITE);
}
else {
c.setForeground(Color.BLACK);
c.setBackground(null);
}
if(isSelected && c.getBackground() != Color.RED) {
c.setBackground(Color.LIGHT_GRAY);
c.setForeground(Color.WHITE);
}
return c;
}
}
Nun wird das erste Item zwar in der aufgeklappten Liste Rot angezeigt, das jeweils gewählte hat aber immer die gleiche Farbe. Wenn ich z.B. über einen Listener comboBox.setBackground(Color.RED) setzte, wenn das erste Item ausgewählt wurde, so wird nur der Pfeil, sowie die Auswahlliste komplett Rot, das Textfeld aber nicht.
MfG MasterChristian