当前位置: 首页 > 编程笔记 >

如何在JavaFX中检索文本字段的内容?

戚兴思
2023-03-14
本文向大家介绍如何在JavaFX中检索文本字段的内容?,包括了如何在JavaFX中检索文本字段的内容?的使用技巧和注意事项,需要的朋友参考一下

文本字段接受并显示文本。在最新版本的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: ");
      //设置带有读取数据的消息
      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 -> {
         //检索数据
         String name = textField1.getText();
         String email = textField2.getText();
         text.setText("Hello "+name+"Welcome to Nhooo. 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);
   }
}

输出结果


 类似资料:
  • 我正在开发一个应用程序,在这个应用程序中,我应该从我在javaFX控制器中动态创建的文本字段中检索数据,然后用户决定文本字段的数量。因为在第一个视图中我只有一个textfield,所以我很容易地检索它,没有任何问题,但我只是不知道如何在从控制器动态创建文本字段时进行检索。

  • 我的代码中有JavaFX文本字段,希望在文本字段上为不同的事件添加一个操作。 今天,我只在文本字段中写入一些文本后按enter键时得到一个操作。如何添加处理tab press的操作?还有,当文本字段用鼠标点击失去焦点时,该如何反应? 当我读留档应该是可能的:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextFi

  • 我在javaFX中有一个文本字段,在该字段中键入的任何内容都必须以蓝色显示,这可以通过css实现吗?如果是,那么如何?

  • 当我在Windows10中运行桌面JavaFX应用程序时,输入窗格(使用SceneBuilder创建)的第一个字段如下所示: 我希望光标出现时,用户不必将鼠标指针定位在字段中并单击。 类似地,如果我在输入字段中输入一些有效的数据并按下Tab键,焦点将传递到下一个字段,但光标不再可见:

  • 问题内容: 我想在我存储在Elasticsearch 7.3中的文档中搜索单词 我想要在以前版本的Elasticsearch上工作的示例是: 但是此查询不适用于Elasticsearch 7+,因为已删除。现在该字段消失了,我该如何编写查询以完成相同的任务? 注意:我已经阅读了将所有字段复制到自定义字段中的建议,但是这要求显式地写出每个字段以包括在all_fields字段中。由于我有很多小字段,因

  • 如何在JavaFX中设置的宽度? 我试过这个: 但我看不到任何变化。