0

请帮我改变验证器的颜色这个建议对我没有帮助:

.error * {
  -fx-text-fill: someColor;
}

这只是改变提示文本的颜色:

-fx-prompt-text-fill: yourcolor;

另外,我这样做了:(fxml)

<JFXTextField fx:id="usernameText" labelFloat="true" minWidth="220" promptText="%login.label" style="-fx-background-color: transparent;" styleClass="input">
    <validators>
        <RequiredFieldValidator message="Необходимо ввести имя пользователя" style="-fx-text-fill: red">
        </RequiredFieldValidator>
    </validators>
</JFXTextField>

或设置styleClass="myClass"或通过id="validator";并在我的 .css 文件中描述类/id(i.css 文件没有问题)

我也在我的控制器中设置样式(在 groovy 上)

validator.setStyle("-fx-text-fill: red")

或者

validator.getStyleClass().add("validator")

或者

validator.setId("validator")

但都没有成功

我的验证器代码:

RequiredFieldValidator validator = new RequiredFieldValidator()   
usernameText.focusedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
        void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            if (!newValue) {
                usernameText.validate()
            }
        }
    })
4

1 回答 1

3

我找到了我的问题的答案

您可以使用工具 ScenicView 来确定对象属于哪个 CSS 类。

就我而言,这是

.error-label {
    -fx-text-fill: red;
    -fx-font-size: 8pt;
}

它解决了我的问题

在此处输入图像描述

于 2018-06-27T12:48:28.020 回答