我在使用JavaFX Preloader时遇到了麻烦.在启动阶段,应用程序必须连接到数据库并读取很多,所以我认为在此期间显示启动画面会很好.问题是ProgressBar自动进入100%,我不明白为什么.
应用类.线程休眠将在以后用实际代码替换(DB连接等)
public void init() throws InterruptedException
{
notifyPreloader(new Preloader.ProgressNotification(0.0));
Thread.sleep(5000);
notifyPreloader(new Preloader.ProgressNotification(0.1));
Thread.sleep(5000);
notifyPreloader(new Preloader.ProgressNotification(0.2));
}
Run Code Online (Sandbox Code Playgroud)
预载
public class PreloaderDemo extends Preloader {
ProgressBar bar;
Stage stage;
private Scene createPreloaderScene() {
bar = new ProgressBar();
bar.getProgress();
BorderPane p = new BorderPane();
p.setCenter(bar);
return new Scene(p, 300, 150);
}
@Override
public void start(Stage stage) throws Exception {
this.stage = stage;
stage.setScene(createPreloaderScene());
stage.show();
}
@Override
public void handleStateChangeNotification(StateChangeNotification scn) {
if (scn.getType() == StateChangeNotification.Type.BEFORE_START) {
stage.hide();
}
}
@Override
public …Run Code Online (Sandbox Code Playgroud) javafx ×1