Maven JavaFX et ControlsFX
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>20.0.1</version>
</dependency>
<dependency>
<groupId>org.controlsfx</groupId>
<artifactId>controlsfx</artifactId>
<version>11.1.2</version>
</dependency>
</dependencies>
NotificationPane
import org.controlsfx.control.NotificationPane;
import org.controlsfx.control.action.Action;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class App extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage stage) {
// La notification
NotificationPane notificationPane = new NotificationPane(new VBox());
// Message de la notification
notificationPane.setText("Mise à jour terminée. Voulez-vous redémarrer l'application ?");
// false pour cacher le bouton fermer
notificationPane.setCloseButtonVisible(true);
// Création d'une action (bouton) dans la notification
notificationPane.getActions().add(new Action("Redémarrer", (e) -> {
// Cache la notification lorsque le bouton est cliqué
notificationPane.hide();
System.out.println("Action !");
}));
Button updateBtn = new Button("Mettre à jour");
updateBtn.setOnAction((event) -> {
notificationPane.show();
});
var scene = new Scene(new StackPane(notificationPane, updateBtn), 600, 480);
stage.setScene(scene);
stage.show();
}
}
Commentaires
Enregistrer un commentaire