我想创建一个启动画面像我provded的例子。 看来,AnchorPane不允许透明的背景,我已经尝试设置的CSS AnchorPane
到-fx-background-color: rgba(255,0,255,0.1) ;
但白色背景仍然显示。
所有我在我的FXML文件是用包含PNG图像ImageView的一个AnchorPane
我到处找,但找不到任何解决方案,任何帮助,将不胜感激。 谢谢
我想创建一个启动画面像我provded的例子。 看来,AnchorPane不允许透明的背景,我已经尝试设置的CSS AnchorPane
到-fx-background-color: rgba(255,0,255,0.1) ;
但白色背景仍然显示。
所有我在我的FXML文件是用包含PNG图像ImageView的一个AnchorPane
我到处找,但找不到任何解决方案,任何帮助,将不胜感激。 谢谢
试试这个JavaFX的飞溅样品的问题#1创建: 设计一个闪屏(JAVA) 。 和跟进样品也提供应用程序的初始化进程的反馈。
JavaFX的确实提供了预加载从飞溅顺利移交给应用程序接口,但上面的样本不利用它。
上面也溅样品不做透明的效果,但这种对话示例展示了如何做到这一点,你可以用以前的飞溅样本结合起来,以获得您想要的效果。
透明效果通过创建的:
stage.initStyle(StageStyle.TRANSPARENT)
scene.setFill(Color.TRANSPARENT)
这是所有证明谢尔盖的样本。
相关问题:
基于其他问题更新2016年4月
在前台预加载图像心不是。 我曾尝试stage.toFront(),但犯规的帮助。
一个新的API是在Java中8u20创建stage.setAlwaysOnTop(真) 。 我更新的链接样品初始启动画面,这有助于在一个平稳的过渡到主屏幕上的援助使用此。
对于Java8 +
对于modena.css(默认JavaFX的外观和使用Java 8感受到定义),轻微的阴影背景中引入了所有的控制(如果一个控件加载也窗格)。
您可以通过指定默认的背景是透明删除此。 这可以通过添加以下行到应用程序的CSS文件来完成:
.root { -fx-background-color: transparent; }
如果你愿意,你可以使用CSS样式类和规则或使用setStyle调用(如表现在谢尔盖的回答),以确保该设置只适用于您的闪屏的根源,而不是所有的应用程序屏幕。
请参阅相关的:
你需要有透明的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();
}