2017-06-21 67 views
0

我對編程相當陌生,並且不斷收到空指針異常並需要幫助。我試圖從另一個類發送一個變量來設置標籤的文本。此其他類啓動時所使用的點擊的輸入由DB.DBcomm(條碼)鍵,如下所示:FXML setText空指針異常

public void keyEnter(javafx.scene.input.KeyEvent event) { 
    if (event.getCode() == KeyCode.ENTER) { 
     Barcode = textField.getText(); 
     textField.setText(""); 
     System.out.println("Enter Key Was Pressed"); 

     CommController DB = new CommController(); 
     DB.DBcomm(Barcode); 
    } 
} 

在用於其它類的代碼的結束時,有另一個呼叫的方法所看到下面:

keyListen call = new keyListen(); 
call.setlabelText(labeltext); 

這然後發起在所述第一類中的方法,如下所示:

@FXML 
public void setlabelText(String text) { 
    // set text from another class 
    System.out.println("text received: " + text); 
    label.setText(text); 
}  

控制檯成功打印行

"text received: " + text 

然而,當它到達

label.setText(text); 

我收到空指針異常。

+0

你曾經創建過標籤對象嗎? –

+1

謝謝!這刪除了空指針異常;但是,現在我的標籤文本在我的FXML文檔中沒有更改。它與初始化方式保持一致。 –

回答

0

看來你永遠不會創建你的標籤對象。試圖更新一個不存在的對象的屬性將會拋出一個NPE。