FXML setText空指针异常
问题描述:
我对编程相当陌生,并且不断收到空指针异常并需要帮助。我试图从另一个类发送一个变量来设置标签的文本。此其他类启动时所使用的点击的输入由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);
我收到空指针异常。
答
看来你永远不会创建你的标签对象。试图更新一个不存在的对象的属性将会抛出一个NPE。
你曾经创建过标签对象吗? –
谢谢!这删除了空指针异常;但是,现在我的标签文本在我的FXML文档中没有更改。它与初始化方式保持一致。 –