gpt4 book ai didi

仅 JavaFX TextField 焦点状态可通过 css 更改

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:44:52 25 4
gpt4 key购买 nike

因此,我尝试使用带有 javafx 的 CSS 文件更改文本字段中写入的文本的颜色。问题是,无论我尝试什么,我都只能在选择文本字段时更改颜色。

我已经尝试了可以​​更改的文本字段的每个可变变量,是的,我已经尝试将文本字段的聚焦状态和非聚焦状态分开。我不知道可能是什么问题。

这是我尝试过的:(-fx-secondary-light,-fx-text-primary 是我定义的颜色。删除它们并使用十六进制值不会改变任何东西)

.textFieldSecondary {
-fx-background-color: -fx-secondary-light;
-fx-text-fill: -fx-text-primary;
-fx-prompt-text-fill: -fx-text-primary;
}

这会改变聚焦和未聚焦的背景颜色,并且只会在我聚焦时更改字体

.textFieldSecondary {
-fx-background-color: -fx-secondary-light;
-fx-text-fill: -fx-text-primary;
-fx-prompt-text-fill: -fx-text-primary;
}
.textFieldSecondary:focused {
-fx-background-color: -fx-secondary-light;
-fx-text-fill: -fx-text-primary;
-fx-prompt-text-fill: -fx-text-primary;
}

同样的结果

.textFieldSecondary {
-fx-background-color: -fx-secondary-light;
-fx-text-fill: -fx-text-primary;
-fx-prompt-text-fill: -fx-text-primary;
}

如果我只做专注,它会起作用:如果我不专注,它就完全平淡无奇,如果我专注,一切都显示正确

据我了解,第一种情况应该只改变非聚焦状态,第二种情况两者都改变​​,第三种情况只改变聚焦状态。但我不工作。我的错是什么阻止了我改变这两种状态?

这是我的完整 CSS 文件:

* {
-fx-white: #FFFFFF;

-fx-primary-default: #333333;
-fx-primary-light: #696969;

-fx-secondary-default: #DB5A42;
-fx-secondary-light: #DE6953;

-fx-text-primary: #FFFFFF;
-fx-error-primary: #FF0000;
-fx-closeButton: #FF0000;
}

.buttonPrimary {
-fx-background-color: -fx-primary-default;
-fx-border-color: -fx-white;
-fx-border-width: 3;
-fx-border-radius: 5;
}

.buttonSecondary {
-fx-background-color: -fx-secondary-default;
-fx-border-color: -fx-secondary-light;
-fx-border-width: 3;
-fx-border-radius: 5;
}

.buttonExit {
-fx-background-color: -fx-closeButton;
-fx-background-radius: 0;
}

.buttonBack {
-fx-background-color: -fx-secondary-default;
-fx-background-radius: 0;
-fx-background-image: url('/Resources/backArrow.png');
-fx-background-position: center;
-fx-background-size: 231px 68px;
}

.textFieldSecondary {
-fx-background-color: -fx-secondary-light;
-fx-text-fill: -fx-text-primary;
-fx-prompt-text-fill: -fx-text-primary;
}

.textFieldSecondaryError {
-fx-background-color: -fx-secondary-light;
-fx-border-color: -fx-error-primary;
-fx-border-width: 2;
-fx-border-radius: 2;
-fx-text-fill: -fx-text-primary;
}

最佳答案

尝试用代码来做

这是在文本字段 JAVAFX 中更改内部文本填充颜色的简单方法

private void setTextColor() {
txtReferance.setStyle("-fx-text-inner-color: red;");
txtName.setStyle("-fx-text-inner-color: red;");
txtNIC.setStyle("-fx-text-inner-color: red;");
txtMobileNo.setStyle("-fx-text-inner-color: red;");
txtEmail.setStyle("-fx-text-inner-color: red;");
}

并在初始化或构造函数中调用 setTextColor() 方法。 txtReferance , txtName ,txtNIC ,txtMobileNo,txtEmail 是文本字段ID

或使用 CSS

-fx-text-inner-color: red;

这对我有用。

关于仅 JavaFX TextField 焦点状态可通过 css 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56091940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com