web-dev-qa-db-ja.com

JavaFX:装飾されていないウィンドウ

Windows PCトースト通知を作成しようとしています。現在、SwingとJavaFXを組み合わせて使用​​しています。FXで装飾されていないウィンドウを作成する方法が見つからなかったためです。 JavaFXのみを使用したいのですが。

では、装飾されていないウィンドウを作成するにはどうすればよいですか?

編集:new Stage(StageStyle.UNDECORATED)を使用して直接ステージを作成できることを発見しました。

MyApplicationstart(Stage stage)メソッドを呼び出すことができるように、ツールキットを初期化する方法を知る必要があるだけです。 (これは_extends Application_)

私は通常Application.launch(MyApplication.class, null)を呼び出しますが、これによりStageの作成とToolkitの初期化から保護されます。

では、これらのことを行ってstart(new Stage(StageStyle.UNDECORATED))を直接使用できるようにするにはどうすればよいですか?

26
Dorothy

ステージを非装飾として設定する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();
    }
}
43
pmoule