Je souhaite changer de scène dans une autre classe mais j'ai de grandes difficultés.Changement de scène dans JavaFX NullPointerException
Maintenant, je peux passer à la deuxième écran sans problème, mais revenir au premier écran me donne le NullPointerException.
L'aide serait grandement appréciée. Merci d'avance.
Principale
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);
}
}
Autre classe
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);
}
}
'main.ps' est jamais initialisé, vous obtenez une exception de pointeur NULL lorsque vous appelez' setScene' dessus. –