2013-01-13 64 views
3

我收到NullPointerException,當我試圖從我的Button的操作方法之一中獲取文本TextField。這是我的文本字段定義:如何從TextField中的onAction方法獲取文本?

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();。如何從onAction方法中的textField獲取文本?

回答

1

一種可能性是你在方法或構造函數中隱藏你的TextField。考慮到本地變量未被聲明爲final,這似乎是一種可能性。 如果您EventHandler將使用稱爲textField類成員變量,然後

TextField textField = new TextField(); 

textField = new TextField(); 
更換
相關問題