From 0c2c3ee5a55f36d270171f2f67938542e251fdc5 Mon Sep 17 00:00:00 2001 From: polo Date: Thu, 2 Jul 2026 00:14:17 +0200 Subject: fork utilisant maven --- src/main/java/vue/AfficheAdmin.java | 151 ++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 src/main/java/vue/AfficheAdmin.java (limited to 'src/main/java/vue/AfficheAdmin.java') diff --git a/src/main/java/vue/AfficheAdmin.java b/src/main/java/vue/AfficheAdmin.java new file mode 100644 index 0000000..565a18a --- /dev/null +++ b/src/main/java/vue/AfficheAdmin.java @@ -0,0 +1,151 @@ +package vue; + +import javafx.geometry.Pos; +import javafx.scene.Scene; +import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.DatePicker; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.scene.paint.Color; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.stage.FileChooser; +import javafx.stage.Stage; +import modele.Evenement; +import modele.User; +import javafx.scene.control.TextField; +//import java.awt.TextArea; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Date; + +import controlleur.BDD; +import controlleur.ControllerAdmin; +import controlleur.EvenementController; + +public class AfficheAdmin { + private static VBox events; + private static Stage stage; + private static User sess; + + public static Stage getStage() { + return stage; + } + + public static void setStage(Stage stage) { + AfficheAdmin.stage = stage; + } + + public static User getSess() { + return sess; + } + + public static void setSess(User sess) { + AfficheAdmin.sess = sess; + } + + public static VBox getEvents() { + return events; + } + + public static void affiche(Stage primaryStage, User session) { + stage = primaryStage; + sess = session; + events = EvenementController.EvenementVBox(); + AfficheTopMenu menu = new AfficheTopMenu(stage,sess); + Text titre = new Text("Mes évènements"); + titre.setFont(Font.font("Arial", 30)); + titre.setFill(Color.web("#2C3E50")); + titre.setStroke(Color.web("#34495E")); + titre.setStrokeWidth(1); + + + // Création du DatePicker + DatePicker date = new DatePicker(); + date.setMaxWidth(60); + + VBox vTitre = new VBox(titre); + Button parcourir = new Button("Parcourir"); + Button valider = new Button("Valider"); + TextField nom = new TextField(""); + nom.setPromptText("Nom de l'évènement"); + TextField descEvent = new TextField(); + descEvent.setPromptText("Quelques mots pour votre évènement ?"); + descEvent.setPrefWidth(250); + + // Création d'un ImageView pour afficher l'image + ImageView imageView = new ImageView(); + imageView.setPreserveRatio(true); + imageView.setFitWidth(80); + + // Action des boutons + parcourir.setOnAction(e -> { + ControllerAdmin.parcourir(stage, imageView); + }); + + valider.setOnAction(e -> { + if (nom.getText().isEmpty() || descEvent.getText().isEmpty()||ControllerAdmin.getFile() == null){ + + // Affichage du message d'erreur si n champ est vide + showErrorMessage("Tous les champs doivent être remplis."); + } + else { + // Récupération de la date sélectionnée + LocalDate localDate = date.getValue(); + + if (localDate != null) { + // Formater la date en chaîne de caractères au format "yyyy-MM-dd" + String dateString = localDate.format(DateTimeFormatter.ISO_LOCAL_DATE); + System.out.println("Date sélectionnée : " + dateString); + System.out.println(dateString); + System.out.println("Date sélectionnée (java.util.Date) : " + dateString); + events = ControllerAdmin.valider(nom.getText(),ControllerAdmin.getFile().getName(),descEvent.getText(), dateString); + AfficheAdmin.affiche(stage, sess); + } + else { + + // Affichage du message d'erreur si n champ est vide + showErrorMessage("Tous les champs doivent être remplis."); + } + } + }); + + // VBox principal + HBox hbox = new HBox(20); + hbox.getChildren().addAll(nom, imageView, descEvent, date, parcourir, valider); + hbox.setAlignment(Pos.CENTER); + + VBox root = new VBox(); + root.getChildren().addAll(menu,vTitre,hbox,events); + + // Ajout du VBox à la scène + Scene scene = new Scene(root, 800, 600); + + // Ajout d'un titre à la fenêtre + primaryStage.setTitle("StatHammer : Admin"); + primaryStage.setScene(scene); + primaryStage.show(); + } + + public static void setEvents(VBox events) { + AfficheAdmin.events = events; + } + + // Méthode pour afficher une erreur + private static void showErrorMessage(String message) { + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setTitle("StatHammer : Erreur dans le formulaire"); + alert.setHeaderText(null); + alert.setContentText(message); + alert.showAndWait(); + } + +} -- cgit v1.2.3