package controlleur; import java.io.File; import java.io.IOException; import java.nio.file.Files; import javafx.geometry.Pos; import javafx.scene.control.Alert; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.VBox; import javafx.stage.FileChooser; import javafx.stage.Stage; import modele.Evenement; public class ControllerAdmin { private static String destinationDir; private static File destinationFile ; private static File file; public static void parcourir(Stage primaryStage, ImageView imageView) { FileChooser fileChooser = new FileChooser(); fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Fichiers Images", "*.png", "*.jpg")); // Ouvrir le file chooser et obtenir le fichier sélectionné file = fileChooser.showOpenDialog(primaryStage); boolean nomFich = true; if (file != null) { for (int i = 0 ; i < Connexion.eventC.getNbrEvt();i++) { if (file.getName().equals(Connexion.eventC.getNom_image().get(i))) { Alert alert = new Alert(Alert.AlertType.ERROR); alert.setTitle("StatHammer : Nom d'image déjà existant"); alert.setHeaderText(null); alert.setContentText("Le nom de l'image est déjà prise."); alert.showAndWait(); nomFich = false; } } if (nomFich) { System.out.println("Fichier sélectionné : " + file.getName()); System.out.println("Chemin du fichier : " + file.getAbsolutePath()); // Créer une nouvelle image à partir du chemin absolu du fichier Image image = new Image("file:" + file.getAbsolutePath()); // Définir l'image dans l'ImageView imageView.setImage(image); // Destination pour sauvegarder l'image (hors de "src") destinationDir = "images"; File destinationFolder = new File(destinationDir); // = Paths.get(destinationDir); // Créez le répertoire s'il n'existe pas if (!destinationFolder.exists()) { destinationFolder.mkdirs(); } File nouveauNom = new File(file.getName()); destinationFile = new File(destinationFolder, nouveauNom.getName()); } } } //méthode "valider" public static VBox valider(String nom_evt, String nom_img, String desc, String date) { Evenement evt = new Evenement(nom_evt, nom_img, desc, date); VBox event = new VBox(); event.setPrefHeight(50); event.setAlignment(Pos.CENTER); try { // Copier le fichier dans le dossier de destination Files.copy(file.toPath(), destinationFile.toPath()); System.out.println("Fichier enregistré à : " + destinationFile.getAbsolutePath()); EvenementController.insererEvenement(evt); event = EvenementController.EvenementVBox(); } catch (IOException ioException) { System.out.println("Probleme sur Valider"); ioException.printStackTrace(); } return event; } public static File getFile() { return file; } public static String getDestinationDir() { return destinationDir; } }