2014-07-11 37 views

Antwort

9

Die CSS-Stile für Texteingabesteuerelemente wie TextField für JavaFX 8 sind im Stylesheet modena.css wie folgt definiert. Erstellen Sie ein benutzerdefiniertes CSS-Stylesheet und ändern Sie die Farben nach Ihren Wünschen. Verwenden Sie die CSS reference guide, wenn Sie Hilfe benötigen, um die Syntax und die verfügbaren Attribute und Werte zu verstehen.

.text-input { 
    -fx-text-fill: -fx-text-inner-color; 
    -fx-highlight-fill: derive(-fx-control-inner-background,-20%); 
    -fx-highlight-text-fill: -fx-text-inner-color; 
    -fx-prompt-text-fill: derive(-fx-control-inner-background,-30%); 
    -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; 
    -fx-cursor: text; 
    -fx-padding: 0.333333em 0.583em 0.333333em 0.583em; /* 4 7 4 7 */ 
} 
.text-input:focused { 
    -fx-highlight-fill: -fx-accent; 
    -fx-highlight-text-fill: white; 
    -fx-background-color: 
     -fx-focus-color, 
     -fx-control-inner-background, 
     -fx-faint-focus-color, 
     linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background); 
    -fx-background-insets: -0.2, 1, -1.4, 3; 
    -fx-background-radius: 3, 2, 4, 0; 
    -fx-prompt-text-fill: transparent; 
} 

Obwohl ein externes Stylesheet eine bevorzugte Art und Weise ist das Styling zu tun, können Sie Inline-Stil, etwas mit wie unten:

textField.setStyle("-fx-text-inner-color: red;"); 
+0

I Farbe bezwecken. Wie kann ich die Textfeldfarbe ändern? – alhelal

+1

@alhelal konvertieren Sie das Farbobjekt in eine Zeichenfolge mit der Methode hier: [Wie hex web String aus JavaFX ColorPicker Farbe erhalten?] (Https://stackoverflow.com/questions/17925318/how-to-get-hex-web -string-from-javafx-colorpicker-color), dann setze die Farbe auf die von dir abgeleitete Zeichenkette: 'textField.setStyle (" - fx-text-innere-farbe: "+ colorString +"; ");' – jewelsea

19

Einstellung der -fx-text-fill Arbeiten für mich.

Siehe unten:

if (passed) { 
    resultInfo.setText("Passed!"); 
    resultInfo.setStyle("-fx-text-fill: green; -fx-font-size: 16;"); 
} else { 
    resultInfo.setText("Failed!"); 
    resultInfo.setStyle("-fx-text-fill: red; -fx-font-size: 16;"); 
} 
Verwandte Themen