JavaFX TextField

时间:2020-01-09 10:36:42  来源:igfitidea点击:

JavaFX TextField控件使JavaFX应用程序的用户可以输入文本,然后应用程序可以读取该文本。 JavaFX TextField控件由类javafx.scene.control.TextField表示。

创建一个TextField

我们可以通过创建TextField类的实例来创建TextField控件。这是一个JavaFXTextField实例化示例:

TextField textField = new TextField();

将TextField添加到场景图

为了使JavaFX" TextField"可见,必须将" TextField"对象添加到场景图。这意味着将其添加到"场景"对象,或者作为添加到"场景"对象的布局的子级。

这是一个将JavaFXTextField添加到场景图的示例:

package com.Hyman.javafx.controls;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class TextFieldExperiments extends Application  {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("HBox Experiment 1");

        TextField textField = new TextField();

        HBox hbox = new HBox(textField);

        Scene scene = new Scene(hbox, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

运行上面的JavaFXTextField示例的结果是一个看起来像这样的应用程序:

获取文本字段的文本

我们可以使用其getText()方法(它返回一个String)将文本输入到TextField中。这是一个完整的示例,其中显示了一个" TextField"和一个" Button",并在单击按钮时读取输入到" TextField"中的文本:

package com.Hyman.javafx.controls;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class TextFieldExperiments extends Application  {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("HBox Experiment 1");

        TextField textField = new TextField();

        Button button = new Button("Click to get text");

        button.setOnAction(action -> {
            System.out.println(textField.getText());
        });

        HBox hbox = new HBox(textField, button);

        Scene scene = new Scene(hbox, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

设置文本字段的文本

我们可以使用setText()方法设置TextField的文本。当我们需要为表单的一部分文本字段设置初始值时,这通常很有用。例如,编辑现有对象或者记录。这是设置JavaFXTextField的文本的简单示例:

textField.setText("Initial value");