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 不支援自動包含庫和包。然後你可能需要在編譯之前手動包含這些必要的庫和包。