Я хочу изменить цвет шрифта в TextField. Я нашел -fx-background-color
, -fx-border-color
для изменения цвета фона и рамки, но ничего для текста. есть идеи? спасибо в adamce
Как изменить цвет текста в javafx TextField?
Ответ 1
Стили CSS для элементов ввода текста, такие как TextField для JavaFX 8, определены в таблице стилей modena.css, как показано ниже. Создайте собственную таблицу стилей CSS и измените цвета по своему усмотрению. Используйте справочное руководство CSS, если вам нужна помощь в понимании синтаксиса и доступных атрибутов и значений.
.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;
}
Хотя использование внешней таблицы стилей является предпочтительным способом создания стиля, вы можете использовать стиль inline, используя что-то вроде ниже:
textField.setStyle("-fx-text-inner-color: red;");
Ответ 2
Настройка -fx-text-fill
работает для меня.
Увидеть ниже:
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;");
}
Ответ 3
Если вы разрабатываете свое приложение Javafx с использованием SceneBuilder
тогда используйте -fx-text-fill
(если не доступно как опция, а затем напишите его в поле ввода стиля) в качестве стиля и задайте нужный цвет, он изменит цвет текста вашего Textfield
.
Я пришел сюда по той же проблеме и решил ее таким образом.
Ответ 4
Есть ли другой способ изменить цвет текста в TextField? Например, метод, который позволяет вам изменить цвет, используя класс Color из javafx в качестве параметра?