Ändern von Szenen in JavaFX NullPointerException

Ich möchte zu einer Szene in einer anderen Klasse wechseln, habe aber große Schwierigkeiten.

Nun kann ich problemlos zum zweiten Bildschirm wechseln, aber wenn ich zum ersten Bildschirm zurück wechsle, erhalte ich das NullPointerException.

Help wäre sehr dankbar. Vielen Dank im Voraus

Hauptklass

public class Main extends Application {

Stage ps;
Group root = new Group();
Scene s = new Scene(root, 300, 300, Color.AQUA);
Controller con = new Controller();


public void start(Stage primaryStage) throws Exception {
    ps = primaryStage;
    con.buttonLayout();
    buttonLayout();

    primaryStage.setTitle("Hello World");
    ps.setScene(s);
    primaryStage.show();
}

public void buttonLayout() {
    Button but = new Button("first");

    but.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            ps.setScene(con.s);
        }
    });

    root.getChildren().add(but);
}


public static void main(String[] args) {
    launch(args);
}
}

Andere Klasse

public class Controller{
Group root = new Group();
Scene s = new Scene(root, 300, 300, Color.BLACK);


public void buttonLayout() {
    Button but = new Button("back to first");

    but.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            Main main = new Main();
            main.ps.setScene(main.s);
        }
    });

    root.getChildren().add(but);
}
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage