/** Met fin au programme et demande à l'utilisateur s'il veut sauvegarder. */
  protected void quitter() {

    if (model.flagModif) {

      Alert alert = new Alert(AlertType.CONFIRMATION);
      alert.setTitle("Sauvegarde du dictionnaire");
      alert.setContentText("Voulez-vous enregistrer les nouvelles modifications au dictionnaire?");
      alert.setHeaderText(null);

      ButtonType yes = new ButtonType("Oui");
      ButtonType no = new ButtonType("Non");

      alert.getButtonTypes().setAll(yes, no);
      Optional<ButtonType> result = alert.showAndWait();

      if (result.get() == yes) {
        try {
          model.sauvegardeFichier();
        } catch (IOException e) {
          e.printStackTrace();
          Alert alertSave = new Alert(AlertType.ERROR);
          alertSave.setTitle("IO Error");
          alertSave.setContentText("Save File error");
          alertSave.showAndWait();
        }
      }
    }
    System.exit(0);
  }
  @FXML
  void processLoadGame(ActionEvent event) {
    GestorLogs.registrarLog("Reanudando Juego...");
    String fxml = ConstantesFXML.FXML_REANUDAR_JUEGO;
    ReanudarJuegoController controller;

    try {
      Stage reanudarJuegoStage = new Stage();
      controller =
          (ReanudarJuegoController)
              FXUtils.cargarStage(
                  reanudarJuegoStage,
                  fxml,
                  "Monopoly - Reanudar juego",
                  false,
                  false,
                  Modality.APPLICATION_MODAL,
                  StageStyle.UTILITY);
      controller.setCurrentStage(reanudarJuegoStage);
      controller.setPrevStage(currentStage);
      controller.setUsuarioLogueado(usuarioLogueado);
      int senderId = ConnectionController.getInstance().getIdPlayer();
      ConnectionController.getInstance().send(new GetSavedGamesMessage(senderId, usuarioLogueado));
    } catch (Exception ex) {
      GestorLogs.registrarException(ex);

      final Alert alert = new Alert(AlertType.ERROR);

      alert.setTitle("Error...");
      alert.setContentText(ex.getMessage());
      alert.getButtonTypes().setAll(new ButtonType("Aceptar", ButtonData.OK_DONE));
      alert.showAndWait();
    }
  }
  /**
   * Méthode servant à ajouter un mot au dictionnaire
   *
   * @param event
   */
  @FXML
  void ajouterMot(ActionEvent event) {

    if (!motInput.getText().isEmpty() && motInput.getText().length() > 2) {

      if (!model.rechMotExiste(motInput.getText())) {

        Mot motAjout = new Mot(motInput.getText(), LocalDate.now());
        FabriqueDictionnaire.getInstance().getDictionnaire().put(motInput.getText(), motAjout);
        model.flagModif = true;

        Alert alert = new Alert(AlertType.CONFIRMATION);
        alert.setTitle("Dictionnaire");
        alert.setContentText("Mot ajouté avec succès!");
        alert.setHeaderText(null);

        ButtonType ok = new ButtonType("Ok");

        alert.getButtonTypes().setAll(ok);
        Optional<ButtonType> result = alert.showAndWait();
      } else {

        Alert alert = new Alert(AlertType.ERROR);
        alert.setTitle("Dictionnaire");
        alert.setContentText("Mot déjà existant.");
        alert.setHeaderText(null);
        alert.showAndWait();
      }
    } else {

      Alert alert = new Alert(AlertType.ERROR);
      alert.setTitle("Dictionnaire");
      alert.setContentText("L'expression doit contenir minimum 3 lettres.");
      alert.setHeaderText(null);
      alert.showAndWait();
    }
  }
示例#4
0
  void deletePlaylist() {
    if (interfaceDisabled) return;
    Playlist p = getSelectedPlaylist();
    if (p == null) return;
    Alert alert = new Alert(AlertType.CONFIRMATION);
    ButtonType btYes = new ButtonType(res.getString("yes"), ButtonBar.ButtonData.YES);
    ButtonType btCancel =
        new ButtonType(res.getString("cancel"), ButtonBar.ButtonData.CANCEL_CLOSE);
    alert.getButtonTypes().setAll(btYes, btCancel);
    alert.setTitle(res.getString("delete_playlist"));
    alert.setHeaderText(res.getString("delete_playlist"));
    alert.setContentText(String.format(res.getString("delete_confirm"), p.getTitle()));
    alert.getDialogPane().getStylesheets().add("/styles/dialogs.css");
    ((Stage) alert.getDialogPane().getScene().getWindow()).getIcons().addAll(logoImages);

    Optional<ButtonType> result = alert.showAndWait();
    if (result.get() == btYes) {
      Cache.deletePlaylist(p);
      Platform.runLater(
          () -> {
            updatePlaylists();
          });
    }
  }
  /**
   * Method to show a dialog when music library properties are changed
   *
   * @return boolean indicating wheter the user wants to proceed
   */
  private boolean showAlert() {
    Alert alert = new Alert(AlertType.CONFIRMATION);

    // Setting the dialog text
    alert.setTitle(header);
    alert.setHeaderText(header_text);

    // Setting the buttons
    ButtonType buttonContinue = new ButtonType("Continue", ButtonData.OK_DONE);
    ButtonType buttonCancel = new ButtonType("Cancel", ButtonData.CANCEL_CLOSE);

    // Adding the buttons to the dialog
    alert.getButtonTypes().setAll(buttonContinue, buttonCancel);

    // Showing the dialog and waiting for the answer
    Optional<ButtonType> result = alert.showAndWait();

    // Determining the choosen import Mode
    if (result.get() == buttonContinue) {
      return true;
    } else {
      return false;
    }
  }