summaryrefslogtreecommitdiff
path: root/src/main/java/vue/AfficheEvenement.java
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-07-02 00:14:17 +0200
committerpolo <ordipolo@gmx.fr>2026-07-02 00:14:17 +0200
commit0c2c3ee5a55f36d270171f2f67938542e251fdc5 (patch)
tree8ea4d6a7ad09a5b1389b829980a7a5476982e754 /src/main/java/vue/AfficheEvenement.java
downloadppe_javafx-0c2c3ee5a55f36d270171f2f67938542e251fdc5.tar.gz
ppe_javafx-0c2c3ee5a55f36d270171f2f67938542e251fdc5.tar.bz2
ppe_javafx-0c2c3ee5a55f36d270171f2f67938542e251fdc5.zip
fork utilisant maven
Diffstat (limited to 'src/main/java/vue/AfficheEvenement.java')
-rw-r--r--src/main/java/vue/AfficheEvenement.java88
1 files changed, 88 insertions, 0 deletions
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 @@
1package vue;
2
3import controlleur.Connexion;
4import controlleur.EvenementController;
5import javafx.scene.control.Button;
6import javafx.scene.control.Label;
7import javafx.scene.image.Image;
8import javafx.scene.image.ImageView;
9import javafx.scene.layout.HBox;
10import javafx.scene.layout.VBox;
11import javafx.stage.Stage;
12import modele.Evenement;
13import modele.User;
14
15public class AfficheEvenement {
16 //private static Evenement event;
17
18 public static VBox NewAfficheEvenement(Stage primaryStage, User session) {
19
20 VBox main = new VBox();
21 main.setSpacing(20); // Espacement entre les éléments
22 main.setStyle("-fx-padding: 20; -fx-alignment: center;"); // Ajout de marges autour et centrage du VBox
23
24 HBox hBouton = new HBox();
25 hBouton.setSpacing(10); // Espacement entre les boutons
26 hBouton.setStyle("-fx-alignment: center;"); // Alignement des boutons au centre
27
28 // Style gothique pour le nom de l'événement
29 Label nomEvt = new Label(Connexion.event.getNom_evenement());
30 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);");
31 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);");
32
33 // Style de la date et de la description
34 Label dateEvt = new Label(Connexion.event.getData_evenement());
35 dateEvt.setStyle("-fx-font-size: 16px; -fx-text-fill: #555555;"); // Style de la date de l'événement
36
37 Label descEvt = new Label(Connexion.event.getDescritption_evenement());
38 descEvt.setStyle("-fx-font-size: 14px; -fx-text-fill: #777777; -fx-wrap-text: true;");
39 descEvt.setMaxWidth(400); // Limite la largeur de la description
40
41 HBox hLabel = new HBox();
42 hLabel.setSpacing(10);
43 hLabel.getChildren().add(dateEvt);
44 hLabel.getChildren().add(descEvt);
45 hLabel.setStyle("-fx-alignment: center;"); // Alignement des labels au centre
46
47 // Ajout des boutons dans le HBox avec style "dark fantasy" modeste
48 for (int i = 0; i < Connexion.eventC.getNbrEvt(); i++) {
49 int j = i;
50 Button btn = new Button(Connexion.eventC.getNom_event().get(i));
51 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;");
52 btn.setOnAction(e -> {
53 Connexion.event = new Evenement(Connexion.eventC.getNom_event().get(j),
54 Connexion.eventC.getNom_image().get(j),
55 Connexion.eventC.getDesc_event().get(j),
56 Connexion.eventC.getDate_event().get(j));
57
58 AfficheAccueil.affiche(primaryStage, session);
59 });
60 hBouton.getChildren().add(btn);
61 }
62
63 // Image avec centrage et un peu plus de style sombre
64 Image imageAccueil = new Image("images/" + Connexion.event.getNom_image());
65 ImageView iv1 = new ImageView();
66 iv1.setImage(imageAccueil);
67 iv1.setFitWidth(500);
68 iv1.setPreserveRatio(true);
69 iv1.setSmooth(true);
70 iv1.setCache(true);
71 iv1.setStyle("-fx-border-radius: 10px; -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.7), 15, 3, 2, 2);");
72
73 // Centrer le nom et l'image dans un VBox intermédiaire
74 VBox centeredContent = new VBox();
75 centeredContent.setSpacing(10);
76 centeredContent.setStyle("-fx-alignment: center;");
77 centeredContent.getChildren().add(nomEvt);
78 centeredContent.getChildren().add(iv1);
79
80 // Ajout des éléments dans le VBox principal
81 main.getChildren().add(centeredContent); // Ajout du nom et de l'image centrés
82 main.getChildren().add(hBouton); // Ajout des boutons
83 main.getChildren().add(hLabel); // Ajout de la date et description
84
85 // Retourne le VBox stylisé
86 return main;
87 }
88}