JavaFX:未装饰的窗口

2022-09-01 10:37:36

我正在尝试制作 Windows PC Toast 通知。现在我正在使用Swing和JavaFX的混合,因为我没有找到一种方法来制作一个不装饰的窗口。我更喜欢只使用JavaFX。

那么,如何制作一个未装饰的窗户呢?

编辑:我发现您可以直接使用创建一个舞台。new Stage(StageStyle.UNDECORATED)

现在我需要知道的是如何初始化工具包,以便我可以在 中调用我的方法。(其中start(Stage stage)MyApplicationextends Application)

我通常调用 ,但是这可以保护我免受 .Application.launch(MyApplication.class, null)StageToolkit

那么我该如何做这些事情来让我直接使用呢?start(new Stage(StageStyle.UNDECORATED))


答案 1

我不明白你初步调用start()-方法作为未装饰的阶段的动机,但是下面的代码应该做你想实现的事情。

package decorationtest;

import javafx.application.Application;
import javafx.stage.StageStyle;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class DecorationTest extends Application {

    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.initStyle(StageStyle.UNDECORATED);

        Group root = new Group();
        Scene scene = new Scene(root, 100, 100);

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

答案 2

推荐