1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
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.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.Stage;
import modele.User;
import javafx.scene.control.TextField;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
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();
}
}
|