Mit Blick auf die (gekürzt) Standard JavaFX Stile für die TextField
erklärt eine Menge:
.text-input {
-fx-background-color: linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border),
linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background);
-fx-background-insets: 0, 1;
-fx-background-radius: 3, 2;
}
Der Hintergrund ist also ein mehrschichtiger Hintergrund einschließlich der Grenze. Diese Technik wird in JavaFX häufig verwendet. Aber es ist sehr einfach, nur eine Farbe zu ändern.
Zuerst müssen wir eine neue benutzerdefinierte Artklasse unserer zuweisen TextField
:
TextField textField = new TextField();
textField.getStyleClass().add("custom");
und die CSS-Datei:
.custom {
-fx-control-inner-background: orange;
}
Wie Sie sehen können, Sie müssen nicht alle Stile außer Kraft setzen des Textfelds genügt es, nur die für den Hintergrund verwendete Farbvariable zu überschreiben.
Wow, das ist frustrierend ... –