如何在 JavaFX 中检索文本字段的内容?
javafxobject oriented programmingprogramming更新于 2025/6/26 6:22:17
文本字段接受并显示文本。在 JavaFX 的最新版本中,它仅接受单行文本。在 JavaFX 中,javafx.scene.control.TextField 类表示文本字段,该类继承自 javafx.scene.control.TextInputControl(所有文本控件的基类)。使用该类,您可以接受用户的输入并将其读取到您的应用程序中。
要创建文本字段,您需要实例化该类,并将其作为该类的构造函数。它从其超类 TextInputControl 继承了一个名为 text 的属性。此属性保存当前文本字段的内容。您可以使用 getText() 方法检索此数据。
示例
import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; public class TextFieldGettingData extends Application { public void start(Stage stage) { //创建节点 TextField textField1 = new TextField(); TextField textField2 = new TextField(); Button button = new Button("Submit";); button.setTranslateX(250); button.setTranslateY(75); //创建标签 Label label1 = new Label("Name: "); Label label2 = new Label("Email: "); //Setting the message with read data Text text = new Text(""); //设置标签字体 Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 10); text.setFont(font); text.setTranslateX(15); text.setTranslateY(125); text.setFill(Color.BROWN); text.maxWidth(580); text.setWrappingWidth(580); //显示消息 button.setOnAction(e -> { //Retrieving data String name = textField1.getText(); String email = textField2.getText(); text.setText("Hello "+name+"Welcome to Tutorialspoint. From now, we will communicate with you at "+email); }); //为节点添加标签 HBox box = new HBox(5); box.setPadding(new Insets(25, 5 , 5, 50)); box.getChildren().addAll(label1, textField1, label2, textField2); Group root = new Group(box, button, text); //设置舞台 Scene scene = new Scene(root, 595, 150, Color.BEIGE); stage.setTitle("Text Field Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }