我试图设置多个initstyle
,但它不会发生
primaryStage.initStyle(StageStyle.UNDECORATED,StageStyle.TRANSPARENT);
我也试过
primaryStage.setFill(Color.TRANSPARENT);
但是它会出错
那么如何将我的初级阶段设置为未修饰且透明
基本上在Java中我可以设置
frame.undecorated(true);
frame.setBackground(new Color(0,0,0,0));
这样就可以了解
然后在javafx中如何做到这一点?
请解释我是javafx的新手。感谢
答案 0 :(得分:1)
StageStyle.TRANSPARENT
已经创建了一个未修饰的窗口,因此不需要使用2 StageStyle
s。您可能只是没有更改fill
和您的根窗格的默认background
/ Scene
。
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Say 'Hello World'");
btn.setOnAction((ActionEvent event) -> {
System.out.println("Hello World!");
});
StackPane root = new StackPane();
root.getChildren().add(btn);
root.setBackground(Background.EMPTY);
Scene scene = new Scene(root, 200, 200);
scene.setFill(Color.TRANSPARENT);
primaryStage.initStyle(StageStyle.TRANSPARENT);
primaryStage.setScene(scene);
primaryStage.show();
}
创建一个只显示按钮的舞台。