Il est fréquemment utile qu'un programme puisse demander à l'utilisateur de prendre une décision. La plus simple de ces décisions est la réponse par Oui ou par Non à une question. La plupart des systèmes d'exploitation graphiques disposent d'une boîte de dialogue spécialisée pour cela. Comment le faire simplement avec Java FX version 8 et ultérieures ?
La réponse est simple : utiliser un objet de classe Alert. La documentation de cette classe ne semble pas orientée dans cette direction mais cela est tout à fait possible. Voici un exemple de code pour le réaliser :
String sTitle = "Titre de la boîte de dialogue";
String sHeader = "Question prinipale";
String sContent = "Explications complémentaire sur les conséquences de la décision";
Alert alr = new Alert(Alert.AlertType.NONE, sContent, ButtonType.YES, ButtonType.NO);
alr.setTitle(sTitle);
alr.setHeaderText(sHeader);
ImageView ivw = new ImageView(img); // img (classe Image) illustre qu'il s'agit ici d'une question
alr.setGraphic(ivw);
Optional<ButtonType> opt = alr.showAndWait();
if (opt.isPresent() && opt.get().equals(ButtonType.YES))
{
// Traitement si Oui
}Rédaction par Jean-Marie Piatte (1983-2021)