Boîte de dialogue avec JavaFx et MaterialFX

Dépendances Maven - MaterialFX / JavaFX

<dependencies>
   <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-controls</artifactId>
      <version>20.0.1</version>
   </dependency>
   <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-fxml</artifactId>
      <version>20.0.1</version>
   </dependency>
   <dependency>
      <groupId>io.github.palexdev</groupId>
      <artifactId>materialfx</artifactId>
      <version>11.16.1</version>
   </dependency>
</dependencies>

MFXGenericDialog et MFXDialogs

import io.github.palexdev.materialfx.controls.MFXButton;
import io.github.palexdev.materialfx.dialogs.MFXDialogs;
import io.github.palexdev.materialfx.dialogs.MFXGenericDialog;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 * JavaFX App
 */
public class App extends Application {

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

  @Override
  public void start(Stage stage) {
    // Une boîte de dialogue de type info
    MFXGenericDialog dialog = MFXDialogs.info()
      // Titre de la boîte
      .setHeaderText("Une boîte de dialogue").setContentText("Un contenu")
      // Deux boutons pour les actions
      .addActions(new MFXButton("Ok"), new MFXButton("Annuler"))
      // Actions pour les boutons "fermer", "Réduire" et "Toujours au-dessus"
      .setOnClose((event) -> System.out.println("Close"))
      .setOnMinimize((event) -> System.out.println("Minimize"))
      .setOnAlwaysOnTop((event) -> System.out.println("Always on top")).get();

    var scene = new Scene(new StackPane(dialog), 640, 480);
    stage.setScene(scene);
    stage.show();
  }

}

Commentaires