JavaFX application sans icône dans la barre des tâches

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class AppWithNoIconOnTaskBar extends Application {

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

  @Override
  public void start(Stage primaryStage) {

    // Style utility pour ne pas afficher d'icône
    primaryStage.initStyle(StageStyle.UTILITY);
    // Opacité à 0 pour une fenêtre invisible
    primaryStage.setOpacity(0);

    // Nouvelle fenêtre qui contiendra l'application
    Stage stage = new Stage();
    // La fenêtre appartient à la fenêtre utility invisible (primaryStage)
    stage.initOwner(primaryStage);

    // La scène
    Scene scene = new Scene(new StackPane(new Label("Mon application sans icône dans la barre des tâches")), 640,
      480);
    stage.setScene(scene);

    primaryStage.show();
    stage.show();
    // Quand la fenêtre principale est fermée
    stage.setOnCloseRequest(event -> {
      // Ferme la fenêtre utility
      primaryStage.close();
    });
  }

}

Commentaires