JavaFX:未修饰的窗口

Dor*_*thy 23 java windows javafx toast javafx-2

我正在尝试制作Windows PC Toast通知.现在我正在使用Swing和JavaFX的混合物,因为我找不到用FX制作未修饰窗口的方法.我更愿意只使用JavaFX.

那么,我怎样才能制作一个未修饰的窗户?

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

现在我需要知道的是如何初始化工具包,以便我可以调用我的start(Stage stage)方法MyApplication.(哪个extends Application)

我通常会打电话Application.launch(MyApplication.class, null),但这会使我免于创建Stage和初始化Toolkit.

那么如何让这些东西start(new Stage(StageStyle.UNDECORATED))直接使用呢?

pmo*_*ule 43

我没有得到初步调用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();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @Dorothy这真的很旧,但是为了将来的访问者,在`Stage`上调用`initOwner()`并将引用传递给主阶段将阻止通知的阶段被添加到任务栏. (6认同)
  • 如果不与Swing混合,这似乎不起作用.解决方案可以是为托盘图标制作基于Swing的包装器应用程序. (2认同)