Warum funktioniert setBackground auf JButton funktioniert nicht?
Ich habe folgenden einfachen code:
btn = new JButton();
btn.setBackground(backgroundColor)
Arbeitete ich, wenn ich verwendet:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
Aber es hat aufgehört zu arbeiten, nachdem ich kommentiert habe die Zeile oben. Weiß jemand, warum es passiert und wie kann ich eine Hintergrundfarbe für eine Schaltfläche, ohne die Verwendung eines expliziten Sehen und Fühlen?
HINZUGEFÜGT
Scheint es mir, daß ich getBackground
. Aber ich weiß nicht, wie.
- Auf einem nicht verwandten note: verwenden Sie bitte nicht, dass
UIManager
Zeile so: hartzucodieren die PLAF-Klasse name bedeutet, dass Ihr code wird nicht ausgeführt, wenn das PLAF ist nicht verfügbar (zum Beispiel auf nicht-Windows JDKs oder auf neueren Windows-JDK stoppen könnte, den Versand, die spezifische Klasse).UIManager.getSystemLookAndFeelClassName()
könnte das sein, was Sie suchen. - Kannst du mehr details? Ihre UIManager.setLookAndFeel("com.Sonne.java.swing.plaf.windows.WindowsClassicLookAndFeel"); ist nach oder vor der btn.setBackground(backgroundColor) - Befehl?
- meine LookAndFeel vorher war. Und ich möchte nicht, es überhaupt zu verwenden.
- ist richtig. In diesem Zusammenhang Beantworten[1] beschreibt mehrere alternative Ansätze. [1]:stackoverflow.com/questions/3420431
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist es notwendig, Opak des Elements auf true für Farbe gefüllt werden
Vom setBackground() javadoc:
Vielleicht Ihrem LAF einfach ignoriert.
btn-add.setBorderPainted(false)
Problem kann auch mit der Art und Weise Sie die Taste. Überprüfen Sie, ob der code oben:
}
Klicken Sie einfach einmal auf die Taste, die Sie wollen, um den hintergrund, und gehen Sie dann auf die Eigenschaften-Fenster. Dort die zweite option hintergrund. Klicken Sie auf die durchsuchen-Schaltfläche, und Sie können die Farbe nach Ihren wünschen. Die Farbe wird nicht angezeigt auf die Schaltfläche in Ihrem Rahmen, bis, nachdem Sie das Programm ausführen. Sie können sehen, dass der button in der Farbe, die Sie bevorzugte.