【问题标题】:Cant change color of validator (RequiredFieldValidator) JavaFX (JFoenix)无法更改验证器的颜色(RequiredFieldValidator)JavaFX(JFoenix)
【发布时间】:2018-06-26 11:22:13
【问题描述】:

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

.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()
            }
        }
    })

【问题讨论】:

    标签: css validation javafx fxml jfoenix


    【解决方案1】:

    我找到了问题的答案

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

    在我的情况下是

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

    解决了我的问题

    【讨论】:

    • 这有帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多