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()。
編譯上述示例程式碼並在你的環境中執行後,你將獲得以下輸出。
更改 Textfield 文字顏色的替代方法
JavaFX 支援與 FXML 一起使用的 CSS。現在,在使用 Oracle 提供的 Scene Builder 等 JavaFX GUI 構建工具設計使用者介面時,你可以在開發 UI 時輕鬆地使用 CSS 屬性定義文字顏色。
此外,你可以新增一個 CSS 檔案,你可以在該檔案上新增以下屬性。
-fx-text-fill: red;
你可以使用下面的程式碼將你的 CSS 檔案直接包含在你的程式碼中。
scene.getStylesheets().add("YourCSS.css")
請記住,如果你的 IDE 不支援自動包含庫和包。然後你可能需要在編譯之前手動包含這些必要的庫和包。