Hallo zusammen,
ich bin gerade über ein interessantes Problem gestolpert, dass mir so vorher noch nicht aufgefallen ist:
Ich habe eine JCheckBox, welche ich mit setEnabled(false) deaktiviere. Dann setze ich eine Beschriftung als HTML Text. Doch irgendwie stimmen dann die Farben nicht mehr. Normalerweise ist eine deaktivierte JCheckBox ausgegraut. In meinem Fall sieht sie aber ganz normal aus (Text sowie das Kästchen davor) - zumindest die Farben betreffend. Sie ist aber deaktiviert sprich reagiert nicht auf Eingaben des Benutzers. Vielleicht ein Bug?
Bei den ersten 3 Checkboxen ist die Beschriftung ganz normal gesetzt. Die letzte Checkbox hat HTML als Beschriftung, damit der automatische Umbruch funktioniert. Wie man gut erkennen kann, ist die Farbe anders.
ich bin gerade über ein interessantes Problem gestolpert, dass mir so vorher noch nicht aufgefallen ist:
Ich habe eine JCheckBox, welche ich mit setEnabled(false) deaktiviere. Dann setze ich eine Beschriftung als HTML Text. Doch irgendwie stimmen dann die Farben nicht mehr. Normalerweise ist eine deaktivierte JCheckBox ausgegraut. In meinem Fall sieht sie aber ganz normal aus (Text sowie das Kästchen davor) - zumindest die Farben betreffend. Sie ist aber deaktiviert sprich reagiert nicht auf Eingaben des Benutzers. Vielleicht ein Bug?
Java:
private JCheckBox getDruckBonVerbuchenStaplerterminalCheckBox() {
if (this.druckBonVerbuchenStaplerterminalCheckBox == null) {
this.druckBonVerbuchenStaplerterminalCheckBox = new JCheckBox();
this.druckBonVerbuchenStaplerterminalCheckBox.setText(
TextKit.toHTMLText("Bon beim Verbuchen im Staplerterminal "
+ "drucken"));
this.druckBonVerbuchenStaplerterminalCheckBox.setEnabled(false);
}
return this.druckBonVerbuchenStaplerterminalCheckBox;
}
Java:
public static String toHTMLText(final String text) {
StringBuffer sb = new StringBuffer("<html><head></head><body>");
String[] lines;
if (text == null) {
throw new IllegalArgumentException("Argument text is null.");
}
lines = text.split("\\n", -1);
for (int index = 0; index < lines.length; index++) {
sb.append(lines[index]);
if (index < lines.length - 1) {
sb.append("<br>");
}
}
sb.append("</body></html>");
return sb.toString();
}
Bei den ersten 3 Checkboxen ist die Beschriftung ganz normal gesetzt. Die letzte Checkbox hat HTML als Beschriftung, damit der automatische Umbruch funktioniert. Wie man gut erkennen kann, ist die Farbe anders.