Как создать заставку с прозрачным фоном в JavaFX

Я пытаюсь создать заставку, как пример, который я проверил. Кажется, что AnchorPane не позволяет прозрачный фон, я попытался установить css AnchorPane до -fx-background-color: rgba(255,0,255,0.1) ; но белый фон все равно появляется.

все, что у меня есть в моем файле fxml, это AnchorPane с ImageView с содержимым png image

Example

Я искал везде, но не могу найти никакого решения, любая помощь будет оценена. Спасибо

2 ответов


попробуй такое JavaFX splash sample создано для вопроса Stackoverflow:проектирование заставки (java). И следуйте вверх по образцу который также обеспечивает обратную связь хода инициализации приложения.

JavaFX предлагает Preloader интерфейс для плавной передачи от всплеска к приложению, но приведенные выше образцы не используют его.

образцы выплеска выше также не делают прозрачное эффект, но это


вы должны иметь прозрачный Stage и Scene для этого. Pane сам по себе не имеет цвета.

public void start(Stage primaryStage) {
    Button btn = new Button("Say 'Hello World'");

    AnchorPane root = new AnchorPane();
    root.getChildren().add(btn);

    // Java 8: requires setting the layout pane background style to transparent
    // https://bugs.openjdk.java.net/browse/JDK-8092764
    // "Modena uses a non-transparent background by default"
    root.setStyle("-fx-background-color: transparent;"); 

    Scene scene = new Scene(root, 300, 250, Color.TRANSPARENT);
    primaryStage.initStyle(StageStyle.TRANSPARENT);
    primaryStage.setScene(scene);
    primaryStage.show();
}