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/AfficheEvenement.java | 88 +++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 src/main/java/vue/AfficheEvenement.java (limited to 'src/main/java/vue/AfficheEvenement.java') diff --git a/src/main/java/vue/AfficheEvenement.java b/src/main/java/vue/AfficheEvenement.java new file mode 100644 index 0000000..9188476 --- /dev/null +++ b/src/main/java/vue/AfficheEvenement.java @@ -0,0 +1,88 @@ +package vue; + +import controlleur.Connexion; +import controlleur.EvenementController; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; +import modele.Evenement; +import modele.User; + +public class AfficheEvenement { + //private static Evenement event; + + public static VBox NewAfficheEvenement(Stage primaryStage, User session) { + + VBox main = new VBox(); + main.setSpacing(20); // Espacement entre les éléments + main.setStyle("-fx-padding: 20; -fx-alignment: center;"); // Ajout de marges autour et centrage du VBox + + HBox hBouton = new HBox(); + hBouton.setSpacing(10); // Espacement entre les boutons + hBouton.setStyle("-fx-alignment: center;"); // Alignement des boutons au centre + + // Style gothique pour le nom de l'événement + Label nomEvt = new Label(Connexion.event.getNom_evenement()); + nomEvt.setStyle("-fx-font-size: 32px; -fx-font-family: 'Times New Roman'; -fx-font-weight: bold; -fx-text-fill: #2F4F4F; -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.5), 10, 5, 2, 2);"); + nomEvt.setStyle("-fx-font-size: 32px; -fx-font-family: 'Garamond'; -fx-font-weight: bold; -fx-text-fill: #2F4F4F; -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.6), 15, 0.5, 0, 3);"); + + // Style de la date et de la description + Label dateEvt = new Label(Connexion.event.getData_evenement()); + dateEvt.setStyle("-fx-font-size: 16px; -fx-text-fill: #555555;"); // Style de la date de l'événement + + Label descEvt = new Label(Connexion.event.getDescritption_evenement()); + descEvt.setStyle("-fx-font-size: 14px; -fx-text-fill: #777777; -fx-wrap-text: true;"); + descEvt.setMaxWidth(400); // Limite la largeur de la description + + HBox hLabel = new HBox(); + hLabel.setSpacing(10); + hLabel.getChildren().add(dateEvt); + hLabel.getChildren().add(descEvt); + hLabel.setStyle("-fx-alignment: center;"); // Alignement des labels au centre + + // Ajout des boutons dans le HBox avec style "dark fantasy" modeste + for (int i = 0; i < Connexion.eventC.getNbrEvt(); i++) { + int j = i; + Button btn = new Button(Connexion.eventC.getNom_event().get(i)); + btn.setStyle("-fx-background-color: #1a1a1a; -fx-text-fill: #e6e6e6; -fx-font-size: 14px; -fx-padding: 10px 15px; -fx-border-radius: 5px; -fx-border-color: #444444; -fx-border-width: 1px;"); + btn.setOnAction(e -> { + Connexion.event = new Evenement(Connexion.eventC.getNom_event().get(j), + Connexion.eventC.getNom_image().get(j), + Connexion.eventC.getDesc_event().get(j), + Connexion.eventC.getDate_event().get(j)); + + AfficheAccueil.affiche(primaryStage, session); + }); + hBouton.getChildren().add(btn); + } + + // Image avec centrage et un peu plus de style sombre + Image imageAccueil = new Image("images/" + Connexion.event.getNom_image()); + ImageView iv1 = new ImageView(); + iv1.setImage(imageAccueil); + iv1.setFitWidth(500); + iv1.setPreserveRatio(true); + iv1.setSmooth(true); + iv1.setCache(true); + iv1.setStyle("-fx-border-radius: 10px; -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.7), 15, 3, 2, 2);"); + + // Centrer le nom et l'image dans un VBox intermédiaire + VBox centeredContent = new VBox(); + centeredContent.setSpacing(10); + centeredContent.setStyle("-fx-alignment: center;"); + centeredContent.getChildren().add(nomEvt); + centeredContent.getChildren().add(iv1); + + // Ajout des éléments dans le VBox principal + main.getChildren().add(centeredContent); // Ajout du nom et de l'image centrés + main.getChildren().add(hBouton); // Ajout des boutons + main.getChildren().add(hLabel); // Ajout de la date et description + + // Retourne le VBox stylisé + return main; + } +} -- cgit v1.2.3