当我试图在我的一个TextFieldon action方法中从Button获取文本时,我得到了nullpointerexception。这是我的文本字段定义:

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();
    }
});

我在这行得到NullPointerExcpetionString text = textField.getText();。如何在操作方法中从textfield获取文本?

最佳答案

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

TextField textField = new TextField();

具有
textField = new TextField();

关于java - 如何在onAction方法中从TextField获取文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14299607/

10-11 22:25
查看更多