如何设置多个initstyle到舞台javafx

时间:2016-06-10 16:43:19

标签: javafx

我试图设置多个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的新手。感谢

1 个答案:

答案 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();
}

创建一个只显示按钮的舞台。