验证器(RequiredFieldValidator)的颜色更改颜色JavaFX(JFoenix)

时间:2018-06-26 11:22:13

标签: css validation javafx fxml jfoenix

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

.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文件中描述class / 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()
            }
        }
    })

1 个答案:

答案 0 :(得分:1)

我找到了问题的答案

您可以使用工具ScenicView来确定对象所属的CSS类。

在我的情况下是

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

这解决了我的问题

enter image description here