当我尝试从我的TextField
on action方法中的Button
获取文本时,我收到NullPointerException。这是我的textField定义:
TextField textField = new TextField();
textField.setPromptText("Some text");
GridPane.setMargin(textField, new Insets(50, 50, 10, 50));
gridPane.add(textField, 0, 0);
这是我的按钮及其动作方法:
Button button = new Button("Button");
GridPane.setMargin(button , new Insets(0, 50, 0, 50));
gridPane.add(button , 0, 1);
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
String text = textField.getText();
}
});
我在这行中获得NullPointerExcpetion
:String text = textField.getText();
。如何在onAction方法中从textField获取文本?
答案 0 :(得分:1)
一种可能性是您在方法或构造函数中隐藏TextField
。鉴于局部变量尚未声明为final
,这似乎是可能的。
如果您的EventHandler
正在使用名为textField
的类成员变量,请替换
TextField textField = new TextField();
带
textField = new TextField();