Wie bekomme ich eine JLabel
Anzeige einer HTML-Zeichenfolge grau angezeigt (das ist das Verhalten von JLabel
s, die HTML-Text nicht anzeigen)? Gibt es eine andere Möglichkeit, als die Farbe selbst zu verändern, indem man die Eigenschaft foreground
ändert? JLabel nicht ausgegraut, wenn deaktiviert, wenn HTML-Text angezeigt
JLabel label1 = new JLabel("Normal text");
JLabel label2 = new JLabel("<html>HTML <b>text</b>");
// Both labels are now black in colour
label1.setEnabled(false);
label2.setEnabled(false);
// label1 is greyed out, label2 is still black in colour
Vielen Dank für alle Ihre Antworten. Aus dem, was ich erfahre, scheint es, dass Java kein automatisches Ausgrauen von JLabel
s unterstützt, wenn sie HTML-Text verwenden. Suraj's solution ist dem Fix unter Berücksichtigung der Einschränkungen am nächsten gekommen.
ich aber habe, versucht, eine andere Out-of-the-Box-Ansatz, wo ich den HTML-Text JLabel
s innerhalb eines inneren JPanel
und tat dies gesetzt haben:
mInnerPanel.setEnabled(shouldShow); //shouldShow is a boolean value
Was nicht funktioniert hat. Irgendwelche Vorschläge für diesen Weg?
EDIT: Hinzugefügt implemented solution.
Sie Ihre ursprüngliche Frage nicht ein anderes – Lombo
@Lombo bearbeiten sollte posten, meine schlecht, ich wusste nicht, dass - gelöscht die vorheriges jetzt. – bguiz
Dies scheint in Java 1.7 behoben zu sein. – SystemParadox