HOWTO · JavaFX

JavaFX 中的颜色文本字段文本

本教程将展示我们如何在 JavaFX 中为文本字段文本着色。

本页内容

Textfield 是 JavaFX UI 组件的基本元素。通过这个组件,我们可以将用户输入带到系统中。

我们可以通过使用 setStyle() 方法使用 CSS 属性的直接实现来设置此 Textfield 的样式。你还可以通过提供外部 CSS 文件来包含这些 CSS 属性。

在本文中,我们将了解如何在 JavaFX 中创建一个 Textfield 并为该 Textfield 的文本提供颜色。我们还看到了一个示例,其中包含有关此主题的说明,以使其更易于理解。

JavaFX 中的颜色 Textfield 文本

在下面的示例中,我们将创建一个 Textfield 并将其文本的颜色设置为红色。我们示例的代码将如下所示。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class FXTextfield extends Application {
  public void start(Stage PrimaryStage) {
    PrimaryStage.setTitle("TextField text color"); // Providing a title to our application
    TextField txt = new TextField(); // Creating a text field
    StackPane stkpn = new StackPane(); // Creating a stackpane
    stkpn.getChildren().add(txt); // Adding text field to the stackpane
    txt.setStyle("-fx-text-fill: red;"); // Setting the text color to red

    Scene scene =
        new Scene(stkpn, 200, 100); // Creating a scene with stackpane and dimention of  200x100
    PrimaryStage.setScene(scene); // Creating the stage with the scene
    PrimaryStage.show(); // Visualizing the stage
  }

  public static void main(String args[]) {
    launch(args); // Launching the application
  }
}

我们已经评论了每一行的目的。现在我们在这里讨论该主题的核心部分。

通过 txt.setStyle("-fx-text-fill: red;"); 行,我们将 CSS 属性 -fx-text-fill 改为 red。我们使用了方法 setStyle()

编译上述示例代码并在你的环境中运行后,你将获得以下输出。

JavaFX 中的颜色文本字段文本

更改 Textfield 文本颜色的替代方法

JavaFX 支持与 FXML 一起使用的 CSS。现在,在使用 Oracle 提供的 Scene Builder 等 JavaFX GUI 构建工具设计用户界面时,你可以在开发 UI 时轻松地使用 CSS 属性定义文本颜色。

此外,你可以添加一个 CSS 文件,你可以在该文件上添加以下属性。

-fx-text-fill: red;

你可以使用下面的代码将你的 CSS 文件直接包含在你的代码中。

scene.getStylesheets().add("YourCSS.css")

请记住,如果你的 IDE 不支持自动包含库和包。然后你可能需要在编译之前手动包含这些必要的库和包。