【发布时间】:2016-04-15 08:47:53
【问题描述】:
我有一个使用简单预加载器的程序,而 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();
}
有没有办法减少/消除这种延迟?完全废弃预加载器并将其作为主程序中的一个阶段实现会更好吗?提前致谢。
编辑:
我接受了 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));
}
【问题讨论】:
标签: java javafx delay preloader