如何在Java中从TextField获取字符串

如何在Java中从TextField获取字符串,java,javafx,textfield,jpasswordfield,Java,Javafx,Textfield,Jpasswordfield,我正在从TextField和PasswordField获取对象,但我需要在类中将其用作字符串。我有这样设置的变量,但应用程序正在崩溃 @FXML private TextField email; @FXML private PasswordField password; private String stringPassword = password.getText(); private String stringEmail = email.getText(); 编辑:我将getText放入

我正在从
TextField
PasswordField
获取对象,但我需要在类中将其用作
字符串。我有这样设置的变量,但应用程序正在崩溃

@FXML private TextField email;
@FXML private PasswordField password;

private String stringPassword = password.getText();
private String stringEmail = email.getText();
编辑:我将getText放入相关方法,但没有成功。现在我有

@FXML public void logIn() throws IOException    
{ 
    String p = password.getText();
    String e = email.getText();
    System.out.println(p);}

所有这些都会导致NullPointerException

您不能调用此
密码。getText()
email.getText()在那个地方。
因为
TextField
PasswordField
尚未初始化。
因此,您应该在类中的方法中调用它们。

“应用程序正在崩溃”。错误是什么?首次创建控制器时,您试图从文本字段获取文本。文本字段将不会被初始化-用户肯定没有机会在文本字段中键入任何内容。通常在需要时从文本字段获取文本(例如,在某个事件的事件处理程序中)。你想在这里做什么?谢谢,是想这么做,现在我尝试了以下解决方案,没有结果:String h=password.getText();字符串e=email.getText();System.out.println(h);->NullPointerException@JanMand你把密码放在哪里了?什么时候执行?如果您已经按照这个答案更新了代码,但它仍然抛出异常,则显示新代码(以及完整的堆栈跟踪)。