Я пытаюсь показать gif-сообщение об успешном выполнении из моего приложения javaFx.
public static void successGif() {
int size = 400;
ImageView splash = new ImageView(new Image("file:src/main/resources/img/success3.gif"));
splash.setStyle("-fx-background-color: transparent;");
splash.setFitWidth(size);
splash.setFitHeight(size);
splash.setPickOnBounds(true);
Pane splashLayout = new Pane();
splashLayout.getChildren().add(splash);
final Stage initStage = new Stage();
Scene successScene = new Scene(splashLayout, size, size);
successScene.setFill(Color.TRANSPARENT);
initStage.initStyle(StageStyle.TRANSPARENT);
initStage.setWidth(size);
initStage.setHeight(size);
initStage.setScene(successScene);
initStage.show();
new Thread(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Platform.runLater(initStage::close);
}).start();
}
Вышеупомянутая функция может успешно создать всплывающее окно с gif. на данный момент я попытался вызвать эту функцию с помощью кнопки в своем приложении, но фон всплывающего окна все еще белый. Но когда я протестировал ту же функцию, вызвав ее в функции start () приложения, она заработала, как ожидалось. как я могу исправить эту проблему?
Мне нужно вызывать эту функцию внутри моего приложения во многих случаях.
Как сделать фон прозрачным.
Ниже приведена гифка на случай, если вам нужно попробовать, спасибо.