GIF启动画面卡住了(JavaFX)

时间:2016-05-05 08:01:59

标签: javafx gif splash-screen preloader

我创建了启动画面作为Preloader,显示动画GIF图像。问题是GIF卡住了,因为它是在启动主舞台的同一个JavaFX线程上执行的。

当JavaFX线程启动主舞台时,有没有办法顺利显示GIF启动画面?

以前我使用VM参数来显示GIF启动画面,但是它缺乏调整大小以适应不同屏幕分辨率的灵活性,添加额外的加载/进度信息等。

发射器:

public class Launcher {

    public static void main(String[] args) {
        LauncherImpl.launchApplication(MainApp.class, SplashPreloader.class, args);
    }

}

预加载器(启动画面):

public class SplashPreloader extends Preloader {

    @Override
    public void start(Stage splashScreen) throws Exception {
        BorderPane root = new BorderPane();
        double width = 500;
        double height = 355;
        File file = new File("splash.gif");
        Image image = new Image(file.toURI().toString());
        ImageView splashGif = new ImageView(image);
        splashGif.setFitWidth(width);
        splashGif.setFitHeight(height);
        root.setCenter(splashGif);
        splashScreen.initStyle(StageStyle.UNDECORATED);
        Scene scene = new Scene(root, width, height);
        splashScreen.setScene(scene);
        splashScreen.show();
    }

}

0 个答案:

没有答案