Hallo miteinander! Ich möchte bei meinem Programm zuerst ein Startfenster öffnen, wo etwas in ein TextField eingegeben werden soll und wenn dann auf den Button gedrückt wird, soll sich das Hauptfenster öffnen und ein entsprechendes Label soll den String aus dem TextField des Startfensters anzeigen. Wenn ich nun das Programm starte und etwas in das Textfield eingebe und auf den Button drücke erhalte ich zwei Fehler:
Caused by: java.lang.NullPointerException
at application.HauptfensterController.setzeMaxgewicht(HauptfensterController.java:7)
at application.StartfensterController.changeScreen(StartfensterController.java:41)
... 58 more
Der Knackpunkt scheint die Übergabe der im Textfield im Startfenster eingegeben Daten zu sein...
Vielleicht könnt ihr mir ja dabei weiterhelfen? Vielen Dank schonmal!
Hier einmal der Controller vom Startfenster:
Und hier einmal der Controller vom Hauptfenster:
Caused by: java.lang.NullPointerException
at application.HauptfensterController.setzeMaxgewicht(HauptfensterController.java:7)
at application.StartfensterController.changeScreen(StartfensterController.java:41)
... 58 more
Der Knackpunkt scheint die Übergabe der im Textfield im Startfenster eingegeben Daten zu sein...
Vielleicht könnt ihr mir ja dabei weiterhelfen? Vielen Dank schonmal!
Hier einmal der Controller vom Startfenster:
Java:
public class StartfensterController implements Initializable {
@FXML TextField maxGewichtT;
/**
* @param event
* @throws Exception
* Methode um zum Hauptfenster zu gelangen und das eingegebene Maximalgewicht zu übergeben
*/
public void changeScreen(ActionEvent event) throws Exception {
//Laden des FXML Dokuments, welches das nächste Fenster darstellt
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("Hauptfenster.fxml"));
Parent root = loader.load();
Scene hauptfenster = new Scene(root);
//Uebertragend er Daten an das Hauptfenster
HauptfensterController hauptController = loader.getController();
hauptController.setzeMaxgewicht(maxGewichtT.getText());
Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
window.setScene(hauptfenster);
window.show();
}
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
}
}
Und hier einmal der Controller vom Hauptfenster:
Java:
public class HauptfensterController implements Initializable {
//noch mit eingegeben Maxgewicht aus Startfenster verknüpfen!!
@FXML private Label maxGewichtLabel;
//hier sollen die im Startfenster eingegebenen Daten an das Label übergeben werden
public void setzeMaxgewicht(String daten) {
maxGewichtLabel.setText(daten.toString());
}
}