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 ファイルに 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()
            }
        }
    })
4

1 に答える 1

3

私は自分の質問に対する答えを見つけました

ScenicView ツールを使用して、オブジェクトがどの CSS クラスに属しているかを判断できます。

私の場合、これは

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

それは私の問題を解決します

ここに画像の説明を入力

于 2018-06-27T12:48:28.020 に答える