JavaFX Wechsel der Scene nach betätigen eines Button

undercover

Aktives Mitglied
Moin Leute,
Könnt ihr mir auf Sprünge helfen. Ich möchte eine Programm über eine GUI Steuer , die GUI soll voraussichtlich drei Scenen bekommen.
Meine erste Scene rufe ich in einer Main Klasse auf die folgendermaßen Aussieht :
Code:
public class Main extends Application{

    @Override
    public void start(Stage primaryStage) throws IOException {
        //FXML-Datei laden! Wenn nicht gefunden Exception
        Parent root = FXMLLoader.load(getClass().getResource("StartPageView.fxml"));
        //Titel der Stage wird gesetzt
        primaryStage.setTitle("XXX");
        //Szene wird erstellt , Szene wird auf Stage gesetzt
        primaryStage.setScene(new Scene(root,800,500));
        //Stage anzeigen
        primaryStage.show();
    }
   
    public static void main(String[] args)  {
        launch(args);
       
    }
   
   
}
In meiner StartPageController Klasse besteht die Verknüpfung mit meiner StartPageView.fxml.
Über einen Button "next" möchte ich die Scene beenden und gleichzeitig eine neue Szene öffnen.
Könnt ihr mir einen Ansatz liefern? Sicherlich muss dieser Aufruf über einen Methode geschehen die die neue Scene setzt ?
Gruß
 
Vielen Dank für die Hilfe , hat mir in der Tat weitergeholfen.
Habe es nun folgendermaßen gelöst :
Java:
public void handleNext(ActionEvent e) throws IOException {
Stage stage;
            Parent root;
            if (e.getSource() == next) {
                stage = (Stage) next.getScene().getWindow();
                root = FXMLLoader.load(getClass().getResource("NewView.fxml"));
                Scene scene = new Scene(root);
                stage.setScene(scene);
                stage.show();
}

Wird auf den Knopf gedrückt wechselt die scene. Klar wäre es besser einen neuen Controller zu nehmen für jede Scene, allerdings ist die Scene fast identisch somit verweise ich auf einen bestehenden Controller.
Meine dritte Scene wird etwas umfangreicher und anders vom Aufbau , dann nehme ich einen separaten Controller.

Gruß und danke für die Hilfe.
 

Zurück
Oben