init()
メソッドがメインGUIを作成している間、単純なプリローダを使用するプログラムがあります。すべて正常に動作しますが、init()
メソッドが完了してプリローダーが消えた後、メインステージが表示されるまでにはかなりの遅延があります。私はそれがユーザーが混乱するのに十分な7秒ほどであることができるので、目立つと言います。プリローダとステージの間の遅延が表示されます
私はstart()
方法でできるだけ入れてみました:
public void start(Stage stage) {
/*Scene*/
scene = new Scene(root, 1200, 700);
stage.setScene(scene);
scene.setFill(null);
/*Stage*/
stage.initStyle(StageStyle.TRANSPARENT);
stage.centerOnScreen();
stage.show();
}
は排除/この遅延を低減する方法はありますか?プリローダーを完全に廃止して、メインプログラムの段階として実装する方が良いでしょうか?前もって感謝します。
EDIT:
私はMaverick283のアドバイスを取り、プリローダーのフェードアウトを実装しました。私は最後の通知(メインプログラムからプリローダーに)を送った。がメインステージを示した後、それは完全に機能した!
public void start(Stage stage) {
/*Scene*/
scene = new Scene(root, 1200, 700);
stage.setScene(scene);
scene.setFill(null);
/*Stage*/
stage.initStyle(StageStyle.TRANSPARENT);
stage.centerOnScreen();
stage.show();
notifyPreloader(new Preloader.ProgressNotification(0.99));
}