2017-06-21 70 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。