J'ai essayé de faire de mon application pour basculer entre les scènes. Voici une copie d'une partie du code. La scène des crédits a simplement un bouton de retour qui devrait me ramener à la scène principale. Lorsque j'essaie de cliquer sur le bouton crédits sur la scène principale, il devient blanc un écran blanc. Je crois qu'il y a une meilleure façon de résoudre ce problème pourriez-vous me donner quelques conseils?JavaFX scènes de commutation
public class Application {
public static void main(String[] args) {
javafx.application.Application.launch(GUI.class);
}
}
public class GUI extends Application {
@Override
public void start(Stage primaryStage) {
Scene mainScene, creditsScene = null;
mainScene = getMainScene(primaryStage, creditsScene);
creditsScene = getCreditsScene(primaryStage, mainScene);
primaryStage.setTitle("Test application");
primaryStage.setScene(mainScene);
primaryStage.show();
}
private Scene getMainScene(Stage primaryStage, Scene creditsScene) {
final Button credits = new Button("Credits");
credits.setOnAction((ActionEvent e) -> {
primaryStage.close();
primaryStage.setScene(creditsScene);
primaryStage.show();
});
VBox x = new VBox(50);
x.setAlignment(Pos.CENTER);
x.getChildren().addAll(run, displayInfo,
label1, displayInfo, textField, submitName, credits, exit);
//scene size
Scene scene = new Scene(x, 650, 900);
return scene;
}
private Scene getCreditsScene(Stage primaryStage, Scene main) {
final Button back = new Button("Back");
back.setOnAction((ActionEvent e) -> {
primaryStage.setScene(main);
});
VBox x = new VBox(50);
x.getChildren().addAll(back);
Scene credits = new Scene(x, 650, 900);
return credits;
}
Je comprends mais comment pourrais-je le changer pour fonctionner correctement parce que je passe la scène de crédits à getMainScene() et la scène principale à getCreditsScene. En procédant ainsi, ils ne peuvent pas être tous les deux initialisés. –
@JasonPer Fais-leur des champs à la place des variables locales. Ensuite, vous n'avez pas besoin de les passer en paramètre. –
@James_D exactement. Ou faites un param à l'une des scènes, ce qui vous renvoie une référence à une autre scène. –