web-dev-qa-db-fra.com

JavaFX: fenêtre non décorée

J'essaie de faire une notification Toast PC Windows. En ce moment, j'utilise un mélange de Swing et JavaFX parce que je n'ai pas trouvé de moyen de créer une fenêtre non décorée avec FX. Je préférerais de loin utiliser uniquement JavaFX.

Alors, comment puis-je créer une fenêtre non décorée?

Edit: J'ai découvert que vous pouvez créer une scène directement avec new Stage(StageStyle.UNDECORATED).

Maintenant, tout ce que je dois savoir, c'est comment initialiser la boîte à outils pour pouvoir appeler ma méthode start(Stage stage) dans MyApplication. (dont extends Application)

J'appelle généralement Application.launch(MyApplication.class, null), mais cela me protège de la création du Stage et de l'initialisation du Toolkit.

Alors, comment puis-je faire ces choses pour me permettre d'utiliser start(new Stage(StageStyle.UNDECORATED)) directement?

26
Dorothy

Je ne reçois pas votre motivation pour appeler au préalable la méthode start () - définissant une étape comme non décorée, mais le code suivant devrait faire ce que vous voulez atteindre.

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