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 不支持自动包含库和包。然后你可能需要在编译之前手动包含这些必要的库和包。