Wie kann man die Schrift Farbe einer JComboBox ändern wenn Enabled == false

Der Heilige

Grünschnabel
Moin,
ich habe ein Problem ich würde gerne die Schrift Farbe einer JComboBox , ich durch .setEnabled(false); blockiert habe ändern.
Weiß einer von euch wie das geht?
Schon mal vielen Dank im voraus .
Gruß Der Heilige
 

hendl

Erfahrenes Mitglied
Hi du musst einfach die Methode setForeground(Color.RED); aufrufen und deine gewünschte Farbe eintragen.
Java:
String[] chooser= { "first", "second", "third"};
JComboBox comboBoxChooser= new JComboBox(chooser);
comboBoxChooser.setForeground(Color.RED);
Lg hendl
 

Der Heilige

Grünschnabel
Moin,
hendl das funktioniert nur dann wenn die JComboBox nicht durch .setEnabled(false); geblockt ist :).
Nur wenn ich sie mit .setEnabled(false); blocke wird das ganze zu einem Einheitsgrau unabhängig davon welche Farbe ich vorher über . setForeground() gesetzt habe :).
Aber dennoch vielen dank für die Antwort :).
Heiligen mäßige Grüße
Der Heilige
 

Der Heilige

Grünschnabel
Moin,
Zunächst ein mal danke für den Tipp mit dem Look&Feel, das half schon mal erheblich weiter :). So nun für die, die das gleich Problem haben oder einfach nur das Look&Feel ändern möchten man kann zum einen mit dem Folgenden Befehl das Look&Feel ändern
Code:
 UIManager.setLookAndFeel( "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" );
und man kann auch zu einem Späteren Zeit Punkt das Look&Feel einer einzelnen Komponente ändern muss dann aber wahrscheinlich darauf achten, wie sich dies Änderung auch auf danach sichtbar gemachte GUI Elemente auswirkt.
Code:
SwingUtilities.updateComponentTreeUI( component );
Vergleiche .
http://openbook.galileocomputing.de/javainsel9/javainsel_19_023.htm
Gruß Der Heilige
PS. Ich benutze jetzt als Look&Feel joxy. Sollte jemandem noch etwas anderes einfallen würde es mich auch interessieren:)
 

sirstefan

Mitglied
Hallo Der Heilige,

ja, das geht auch anders. Der Weg über den UIManager ist schon mal richtig.

Du kannst das auch so machen:

Code:
UIManager.put("ComboBox.disabledForeground", Color.red);

Damit haben alle deaktivierten JComboBox Items deiner GUI rot als Schriftfarbe. Der Vorteil ist, dass du das Look and Feel nicht für einzelne Komponenten komplett ändern musst.
 

Neue Beiträge