📜  javafx 更改文本字段背景颜色 - Java (1)

📅  最后修改于: 2023-12-03 15:31:36.249000             🧑  作者: Mango

JavaFX 更改文本字段背景颜色

在 JavaFX 应用程序中,更改文本字段背景颜色可以通过以下步骤实现:

1. 创建 Text 节点

在 FXML 文件中创建一个 TextField 节点或者在代码中创建一个 TextField 实例对象。

// 在 FXML 文件中创建 TextField 节点
<TextField fx:id="myTextField" />

// 或者在代码中创建 TextField 实例对象
TextField myTextField = new TextField();
2. 创建 CSS 样式文件

在项目中创建一个 CSS 样式文件,并定义要使用的背景颜色,例如:

.text-field {
    -fx-background-color: lightblue;
}
3. 添加 CSS 样式

将样式应用于 TextField 上,在 FXML 文件或代码中添加 CSS 样式表。

3.1. 在 FXML 文件中添加样式
<!-- 在 FXML 文件中添加样式 -->
<TextField fx:id="myTextField" stylesheets="@Main.css" styleClass="text-field" />

其中 stylesheets 属性指定 CSS 样式表文件名,styleClass 属性指定应用样式的 CSS 类名。

3.2. 在代码中添加样式
// 在代码中添加样式
myTextField.getStyleClass().add("text-field");
myTextField.getStylesheets().add(getClass().getResource("Main.css").toExternalForm());
完整代码
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        // 创建 TextField 节点
        TextField myTextField = new TextField();
        myTextField.setText("Hello world!");

        // 添加样式
        myTextField.getStyleClass().add("text-field");
        myTextField.getStylesheets().add(getClass().getResource("Main.css").toExternalForm());

        // 创建场景
        Scene scene = new Scene(new VBox(myTextField), 300, 200);

        // 显示场景
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
参考资料