如何访问文本字段并将其设置为字符串?我正在使用场景生成器和日食



我正在为银行账户管理编写一个非常简单的UI。我尝试获取用户在文本框中写入的任何名称,并将其设置为字符串。我还试图通过使用textArea而不是System.out.print();向用户打印一些东西,但每当我尝试getText()setText()时,我都会收到以下错误:

原因:java.lang.NullPointerException:无法调用"javafx.scene.control.TextField.getText(("因为";this.txtName";是在应用程序中为null。Controller.addPersonClick(Controller.java:26(.

如有帮助,不胜感激。我正在使用eclipse场景生成器

这就是我的代码在class Controller中的样子(不是全部(:

PersonRegister register = new PersonRegister();
Person per = new Person();
Account account = new Account();
@FXML
public void addPersonClick(ActionEvent event) {
String nameIn = txtName.getText(); //Error
String pNbrIn = "temp"; //Works fine
if(register.findPerson(pNbrIn) == null) {
per.setName(nameIn);
per.setPNbr(pNbrIn);
register.addPerson(per);
System.out.println("Added "+per.getName()+" "+per.getPNbr()); //Works fine
txtAreaResponse.setText("Added "+per.getName()+" "+per.getPNbr());//Error
} else {
System.out.println("Person already exists");//Works fine
txtAreaResponse.setText("Person already exists"); //Error
}
}

以下是我的UI代码(关于相关的textFieldtextArea(:

<TextField layoutX="16.0" layoutY="32.0" />
<TextArea layoutX="17.0" layoutY="263.0" prefHeight="134.0" prefWidth="402.0" />

在场景生成器中给TextField一个ID,我假设下面的代码中有myTextField。然后在控制器类中将其声明为这样。

@FXML
private TextField myTextField;

我也处于同样的情况,但相反,我在场景生成器以及页面的控制器中分配了Id

相关内容

  • 没有找到相关文章

最新更新