3

当我尝试从TextField我的一种Button操作方法中获取文本时,我得到了 NullPointerException。这是我的文本字段定义:

TextField textField = new TextField();
textField.setPromptText("Some text");
GridPane.setMargin(textField, new Insets(50, 50, 10, 50));
gridPane.add(textField, 0, 0);  

这是我的按钮及其 on 操作方法:

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 获取文本?

4

1 回答 1

1

一种可能性是您TextField在方法或构造函数中隐藏了您的。鉴于尚未将局部变量声明为 ,这似乎是一种可能性final。如果您EventHandler使用的是名为 的类成员变量textField,则替换

TextField textField = new TextField();

textField = new TextField();
于 2013-01-13T01:11:59.370 回答