javafx - how - jfxtextfield text color
¿Cómo cambiar el color del texto en javafx TextField? (3)
Quiero cambiar el color de la fuente en TextField. Encontré -fx-background-color
, -fx-border-color
para cambiar el color del fondo y el borde pero nada para el texto. ¿algunas ideas? gracias en advamce
Configurar el -fx-text-fill
funciona para mí.
Vea abajo:
if (passed) {
resultInfo.setText("Passed!");
resultInfo.setStyle("-fx-text-fill: green; -fx-font-size: 16px;");
} else {
resultInfo.setText("Failed!");
resultInfo.setStyle("-fx-text-fill: red; -fx-font-size: 16px;");
}
Establecer textField.setFill(Color.RED);
Los estilos CSS para los controles de entrada de texto, como TextField para JavaFX 8, se definen en la modena.css estilo modena.css como se muestra a continuación. Crea una hoja de estilo CSS personalizada y modifica los colores como desees. Use la guía de referencia de CSS si necesita ayuda para entender la sintaxis y los atributos y valores disponibles.
.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;
}
Aunque el uso de una hoja de estilo externa es una forma preferida de hacer el estilo, puede diseñar en línea, usando algo como a continuación:
textField.setStyle("-fx-text-inner-color: red;");