2016-05-02 3 views
0

Es gibt eine Eingabeüberprüfungsmethode enthält: einige Validierungsschritte, und unter dieser Zeile tritt diese Ausnahme nur auf, wenn die Groß-/Kleinschreibung sogar leer ist oder eine Eingabe enthält, aber beim Speichern der Groß-/Kleinschreibung funktioniert.JavaFX - Wie vermeidet man das Laden von Nullwerten von was auch immer auf TextField?

@FXML private TextField txt_field; 

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
. 
. 
. 
Caused by: java.lang.NullPointerException 

Dies geschieht, wenn dieser Textfield null Laden und versuchen Länge zu erhalten() wie:

txt_field.setText(null); //value is null as loaded from DB. 
if(txt_field.getText().length() > 15) //the line of exception. 

so, was soll ich tun, wenn Nullwerte geladen, diesen Fall zu vermeiden ?.

+0

ist eine in Zeilenprüfung wie 'if (txt_field.getText()! = null && txt_field.getText(). length()> 15)' zu chaotisch? – Zircon

Antwort

1

Angenommen, Sie können nicht auf die Datenbank überprüfen nullness aus der Datenbank kommen, Sie so etwas wie

var myText = txt_field.getText(); 
if(myText != null && myText.length > 15) { 
    // do stuff 
} 
0

tun könnte, wenn Sie den Text etwas nicht null direkt einstellen möchten, können Sie versuchen:

txt_field.setText(dbValue == null? "" : dbValue); 
0

Da Sie dies mit Java-8 markiert, können Sie mit Optionals versuchen:

Optional dbValue = Optional.ofNullable(getDBValue()); // get the value from the DB 
txt_field.setText(dbValue.orElse(""); 
Verwandte Themen