JavaFX - 文本字段



文本字段是图形用户界面组件,用于以文本形式接受用户输入。它是系统和用户之间交互的最简单方式。我们可以在表单或对话框窗口中找到文本字段,如下图所示:

JavaFX textfield

JavaFX 中的 TextField

在 JavaFX 中,TextField 类表示文本字段,它是名为 javafx.scene.control 包的一部分。使用它,我们可以接受来自用户的输入并将其读取到我们的应用程序中。此类继承了 TextInputControl,它是所有文本控件类的基类。要创建文本字段,请使用以下任何构造函数实例化 TextField 类:

  • TextField() - 此构造函数将创建一个空的文本字段。

  • TextField(String str) - 这是一个参数化构造函数,它使用指定的文本构造一个文本字段。

请注意,在最新版本的 JavaFX 中,TextField 类仅接受单行文本。

示例

在以下 JavaFX 程序中,我们将创建一个作为文本的超链接。将此代码保存在名为 JavafxTextfield.java 的文件中。

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class JavafxTextfield extends Application {
   public void start(Stage stage) {
      //Creating nodes
      TextField textField1 = new TextField("Enter your name");
      TextField textField2 = new TextField("Enter your e-mail");
      //Creating labels
      Label label1 = new Label("Name: ");
      Label label2 = new Label("Email: ");
      //Adding labels for nodes
      HBox box = new HBox(5);
      box.setPadding(new Insets(25, 5 , 5, 50));
      box.getChildren().addAll(label1, textField1, label2, textField2);
      //Setting the stage
      Scene scene = new Scene(box, 595, 150, Color.BEIGE);
      stage.setTitle("Text Field Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

要从命令提示符编译和执行保存的 Java 文件,请使用以下命令:

javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxTextfield.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxTextfield

输出

当我们执行上述程序时,将生成以下输出。

TextField Output
广告