2017-06-21 3 views
0

Ich bin ziemlich neu in der Programmierung und ich bekomme immer eine Nullzeiger Ausnahme und brauche Hilfe. Ich versuche, eine Variable aus einer anderen Klasse zu senden, um den Text eines Labels festzulegen. Diese andere Klasse ausgelöst wird, wenn die verwendeten Klicks der Enter-Taste durch die DB.DBcomm (Barcode), wie unten zu sehen:FXML setText Nullzeiger Ausnahme

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

Am Ende des Codes für die andere Klasse, gibt es eine weitere Call-Methode, wie gesehen unten:

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

initiiert Dies dann ein Verfahren in der ersten Klasse, wie unten zu sehen:

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

die Konsole erfolgreich die Linie

druckt
"text received: " + text 

jedoch, wenn es

label.setText(text); 

zu bekommt erhalte ich die Null-Zeiger-Ausnahme.

+0

haben Sie jemals das Etikettenobjekt erstellt? –

+1

Danke! Dadurch wurde die Nullzeiger-Ausnahme entfernt. Jetzt ändert sich jedoch mein Etikettentext in meinem FXML-Dokument nicht. Es bleibt gleich wie es initialisiert wurde. –

Antwort

0

Es scheint, dass Sie nie Ihr Etikettenobjekt erstellen. Wenn Sie versuchen, ein Attribut eines Objekts zu aktualisieren, das nicht vorhanden ist, wird eine NPE ausgelöst.

Verwandte Themen