JToggleButton disabled Text Color

Christoph74

Bekanntes Mitglied
Hallo,

wie bekomme ich die disabled Text Color eines JToggleButtons schwarz?

ich hab bereits versucht:
  • .setText("<html><font color = black>Automatische Weiterleitung</font></html>");
  • .setContentAreaFilled(false);
  • UIManager.getDefaults().put("JToggleButton.disabledText", Color.BLACK);

Leider alles ohne Erfolg... :-(

Danke und Grüße
Christoph
 
Hab ich jetzt gemacht -> der disabled Text ist aber leider immer noch grau... ;-(
Nein.
Java:
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JToggleButton;
import javax.swing.UIManager;

public class Test {

    public static void main(String[] args) {
        UIManager.getDefaults().put("ToggleButton.disabledText", Color.BLACK);

        JToggleButton button = new JToggleButton("X");
        button.setEnabled(false);
        
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.add(button);
        frame.pack();
        frame.setVisible(true);
    }

}

Ist bei mir schwarz.
 
Hmmm.... also Du hast recht -> bei Deinem Beispiel ist der Text schwarz....

Warum nur bei mir nicht... arbeite mit Netbeans und hab die UIManager Zeile jetzt sogar vor und nach initComponents(); eingebaut:

Java:
    public Ansprechpartner_Massnahme_Extern_Panel(DatenbankVerbindung db_verb, Massnahme msn)
    {
            

        UIManager.getDefaults().put("ToggleButton.disabledText", Color.BLACK);
        
        initComponents();
        
        UIManager.getDefaults().put("ToggleButton.disabledText", Color.BLACK);
        
        this.initialize();
        
    }
 
Jupp, nach Änderungen der Eigenschaften während der Ausführung muss die UI resettet werden - und auch das klappt nicht immer. Deshalb am Besten so was immer ganz zu Anfang machen.
 
Hallo,

leider hat auch das nicht geholfen -> arbeite im/mit Netbeans -> kann es vielleicht damit zu tun haben?

Java:
    public static void main (String [] args)
    {

              UIManager.getDefaults().put("ToggleButton.disabledText", Color.BLACK);


Trotzdem Danke!
 
Nein, Netbeans ändert nicht die Eigenschaften des Programms zur Laufzeit.

Welches Look & Feel verwendest du überhaupt? Nicht alle greifen auf die gleichen Properties zu.
 
Den Namen des aktuellen kriegst du raus mit
Java:
UIManager.getLookAndFeel().getName()

Ich tippe mal auf "Windows" oder "Metal". "Nimbus" wird meines Wissens nach von keiner Version standardmäßig gesetzt, allerdings - je nach Einstellung - kann das im von Netbeans erzeugten Code passieren, wenn man eine neue GUI-Anwendung erstellt.
Lass dir den Namen des LookandFeels ausgeben, sobald das Formular sichtbar ist, am Besten über einen Menüpunkt oder ähnliches, den du später wieder entfernen kannst.
 

Zurück
Oben