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");

