From 4bf2e75babc83a809cd2f376a160fc2b59027ced Mon Sep 17 00:00:00 2001 From: sehl Date: Sun, 26 Oct 2025 02:14:25 +0100 Subject: [PATCH] Ajout de la JavaDoc sur les bouton,crud,fenetre modification et rappel.... + ajout du package --- src/fr/iutfbleau/papillon/BtnAjouter.java | 42 +++++++++++++- src/fr/iutfbleau/papillon/BtnModifier.java | 38 ++++++++++++- src/fr/iutfbleau/papillon/BtnSupprimer.java | 45 ++++++++++++++- src/fr/iutfbleau/papillon/Crud.java | 27 ++++++++- src/fr/iutfbleau/papillon/FenetreModif.java | 37 ++++++++++-- src/fr/iutfbleau/papillon/FenetreRappel.java | 39 ++++++++++++- src/fr/iutfbleau/papillon/GestionModif.java | 59 +++++++++++++++++++- src/fr/iutfbleau/papillon/LimiteContenu.java | 28 ++++++++++ src/fr/iutfbleau/papillon/Start.java | 23 +++++++- 9 files changed, 320 insertions(+), 18 deletions(-) diff --git a/src/fr/iutfbleau/papillon/BtnAjouter.java b/src/fr/iutfbleau/papillon/BtnAjouter.java index f06805b..5a0a2b2 100644 --- a/src/fr/iutfbleau/papillon/BtnAjouter.java +++ b/src/fr/iutfbleau/papillon/BtnAjouter.java @@ -1,13 +1,38 @@ -// package fr.iutfbleau.papillon; +package fr.iutfbleau.papillon; +import java.util.ArrayList; import javax.swing.*; -import java.awt.*; import java.awt.event.*; +import java.awt.*; +/** + * La classe BtnAjouter représente un bouton permettant + * d’ouvrir la fenêtre d’ajout d’un nouveau rappel dans l’application Papillon. + *

+ * Lorsqu’un utilisateur clique sur ce bouton, une instance de la fenêtre + * FenetreAjout est affichée, tandis que la fenêtre principale est masquée. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class BtnAjouter extends JButton implements ActionListener{ + /** + * Référence vers la fenêtre principale de l’application. + * Elle permet de gérer la visibilité des fenêtres lors de l’ajout d’un rappel. + */ private Main main; - + + /** + * Construit un bouton "Ajouter" associé à la fenêtre principale. + *

+ * Ce bouton est configuré avec une taille fixe et un écouteur d’action + * pour réagir aux clics de l’utilisateur. + *

+ * + * @param main la fenêtre principale de l’application Papillon + */ public BtnAjouter(Main main){ super("Ajouter"); this.main = main; @@ -18,6 +43,17 @@ public class BtnAjouter extends JButton implements ActionListener{ } + /** + * Méthode appelée lorsqu’un clic est détecté sur le bouton. + *

+ * Ouvre une nouvelle fenêtre d’ajout (FenetreAjout), + * positionnée au même endroit que la fenêtre principale, puis + * masque cette dernière. + *

+ * + * @param e l’événement d’action généré par le clic sur le bouton + */ + @Override public void actionPerformed(ActionEvent e){ if(e.getSource()==this){ FenetreAjout f = new FenetreAjout(main); diff --git a/src/fr/iutfbleau/papillon/BtnModifier.java b/src/fr/iutfbleau/papillon/BtnModifier.java index b1cf21f..5f52531 100644 --- a/src/fr/iutfbleau/papillon/BtnModifier.java +++ b/src/fr/iutfbleau/papillon/BtnModifier.java @@ -1,14 +1,46 @@ -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; +package fr.iutfbleau.papillon; + import java.util.ArrayList; +import javax.swing.*; +import java.awt.event.*; +import java.awt.*; import java.util.List; +/** + * La classe BtnModifier représente un bouton permettant + * de modifier un rappel existant dans l’application Papillon. + *

+ * Lorsqu’un utilisateur clique sur ce bouton, il vérifie qu’un seul rappel + * est sélectionné. Si c’est le cas, la fenêtre de modification + * (FenetreModif) s’ouvre pour permettre à l’utilisateur + * de modifier les informations du rappel choisi. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class BtnModifier extends JButton implements ActionListener { + /** + * Référence vers le rappel actuellement sélectionné. + */ private Rappel rappel; + + /** + * Référence vers la fenêtre principale de l’application. + * Elle permet de gérer la visibilité des fenêtres lors de la modification d’un rappel. + */ private final Main main; + /** + * Construit un bouton "Modifier" associé à la fenêtre principale. + *

+ * Ce bouton est configuré avec une taille fixe et un écouteur d’action + * pour réagir aux clics de l’utilisateur. + *

+ * + * @param main la fenêtre principale de l’application Papillon + */ public BtnModifier(Main main) { super("Modifier"); this.main = main; diff --git a/src/fr/iutfbleau/papillon/BtnSupprimer.java b/src/fr/iutfbleau/papillon/BtnSupprimer.java index eb43075..76c83df 100644 --- a/src/fr/iutfbleau/papillon/BtnSupprimer.java +++ b/src/fr/iutfbleau/papillon/BtnSupprimer.java @@ -1,4 +1,4 @@ -// package fr.iutfbleau.papillon; +package fr.iutfbleau.papillon; import java.util.ArrayList; import java.util.List; @@ -6,11 +6,40 @@ import javax.swing.*; import java.awt.*; import java.awt.event.*; +/** + * La classe BtnSupprimer représente un bouton permettant + * de supprimer un ou plusieurs rappels dans l’application Papillon. + *

+ * Lorsqu’un utilisateur clique sur ce bouton, une boîte de confirmation + * s’affiche afin de valider la suppression. Si l’utilisateur confirme, + * les rappels sélectionnés sont supprimés de la liste. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class BtnSupprimer extends JButton implements ActionListener{ + /** + * Gestionnaire des rappels permettant d’effectuer la suppression. + */ private GestionRappel ges; + + /** + * Référence vers la fenêtre principale de l’application. + * Elle permet de gérer la visibilité des fenêtres lors de la suppression d’un rappel. + */ private Main main; + /** + * Construit un bouton "Supprimer" associé à la fenêtre principale. + *

+ * Ce bouton est configuré avec une taille fixe et un écouteur d’action + * pour réagir aux clics de l’utilisateur. + *

+ * + * @param main la fenêtre principale de l’application Papillon + */ public BtnSupprimer(Main main){ super("Supprimer"); this.main = main; @@ -19,8 +48,20 @@ public class BtnSupprimer extends JButton implements ActionListener{ setFocusPainted(false); } - public void actionPerformed(ActionEvent e){ + /** + * Gère l’action effectuée lors d’un clic sur le bouton. + *

+ * Si aucun rappel n’est sélectionné, un message d’avertissement est affiché. + * Sinon, une boîte de dialogue de confirmation s’ouvre avant de procéder + * à la suppression des rappels choisis. + *

+ * + * @param e l’événement d’action déclenché par un clic + */ + @Override + public void actionPerformed(ActionEvent e){ + if(e.getSource()==this){ ges = new GestionRappel(); diff --git a/src/fr/iutfbleau/papillon/Crud.java b/src/fr/iutfbleau/papillon/Crud.java index 4949e15..d6cd572 100644 --- a/src/fr/iutfbleau/papillon/Crud.java +++ b/src/fr/iutfbleau/papillon/Crud.java @@ -1,14 +1,39 @@ -// package fr.iutfbleau.papillon; +package fr.iutfbleau.papillon; import java.util.ArrayList; import javax.swing.*; +/** + * La classe Crud regroupe les trois boutons principaux + * de gestion des rappels dans l’application Papillon : + * + *

+ * Cette classe centralise leur création et leur ajout à l’interface. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class Crud extends ArrayList{ + /** Bouton d’ajout de rappel. */ private BtnAjouter btnAjt; + + /** Bouton de suppression de rappel. */ private BtnSupprimer btnSpr; + + /** Bouton de modification de rappel. */ private BtnModifier btnMdf; + /** + * Constructeur de la barre d’actions CRUD. + * + * @param main la fenêtre principale de l’application Papillon + */ public Crud(Main main){ btnAjt = new BtnAjouter(main); diff --git a/src/fr/iutfbleau/papillon/FenetreModif.java b/src/fr/iutfbleau/papillon/FenetreModif.java index bad15d8..a6c2481 100644 --- a/src/fr/iutfbleau/papillon/FenetreModif.java +++ b/src/fr/iutfbleau/papillon/FenetreModif.java @@ -1,19 +1,48 @@ +package fr.iutfbleau.papillon; + import javax.swing.*; import java.awt.*; +/** + * La classe FenetreModif permet d’afficher une fenêtre + * dédiée à la modification d’un rappel existant dans l’application Papillon. + *

+ * Elle reprend les informations du rappel sélectionné et permet à l’utilisateur + * de les modifier avant de valider les changements. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class FenetreModif extends JFrame { - + /** Gestionnaire des boutons de modification. */ private GestionModif listBtnModif; + /** Champ de saisie pour le titre du rappel. */ private final JTextField champTitre; - private final JTextArea champContenu; + + /** Champ de saisie pour le contenu du rappel. */ + private final JTextArea champContenu; + + /** Liste de niveaux de priorité disponibles. */ private Integer[] nombres = {1, 2, 3, 4, 5}; + + /** Sélecteur du niveau de priorité. */ private JComboBox rang = new JComboBox<>(nombres); - + + /** Liste des noms de thèmes disponibles. */ private final String[] nomsCouleurs = {"Bleu", "Rouge", "Vert", "Jaune", "Rose"}; + + /** Sélecteur du thème du rappel. */ private final JComboBox comboTheme = new JComboBox<>(nomsCouleurs); + /** + * Constructeur de la fenêtre de modification. + * + * @param parent la fenêtre principale de l’application Papillon + * @param rappel le rappel à modifier + */ public FenetreModif(Main parent, Rappel rappel) { super("Modifier un rappel"); ImageIcon logo = new ImageIcon("logo.png"); @@ -25,7 +54,7 @@ public class FenetreModif extends JFrame { setLocation(parent.getLocation()); // même position que Main setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - // UI + // Layout principal setLayout(new BorderLayout(10, 10)); JPanel centre = new JPanel(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); diff --git a/src/fr/iutfbleau/papillon/FenetreRappel.java b/src/fr/iutfbleau/papillon/FenetreRappel.java index e27b88c..95bddea 100644 --- a/src/fr/iutfbleau/papillon/FenetreRappel.java +++ b/src/fr/iutfbleau/papillon/FenetreRappel.java @@ -1,14 +1,42 @@ +package fr.iutfbleau.papillon; + +import javax.swing.event.*; +import java.awt.event.*; import javax.swing.*; import java.awt.*; -import java.awt.event.*; +/** + * La classe FenetreRappel représente la fenêtre d’affichage + * détaillée d’un rappel dans l’application Papillon. + *

+ * Elle affiche les informations complètes du rappel sélectionné + * (titre, contenu, thème, et priorité) et permet à l’utilisateur + * de le modifier ou de fermer la fenêtre. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class FenetreRappel extends JFrame implements ActionListener{ + /** Bouton permettant de fermer la fenêtre. */ private final JButton btnFermer = new JButton("Fermer"); + + /** Bouton permettant d’ouvrir la fenêtre de modification du rappel. */ private final JButton btnModifier = new JButton("Modifier"); + + /** Référence vers la fenêtre principale de l’application. */ private final Main main; + + /** Référence vers le rappel à afficher. */ private Rappel rappel; + /** + * Constructeur de la fenêtre d’affichage d’un rappel. + * + * @param r le rappel à afficher + * @param main la fenêtre principale + */ public FenetreRappel(Rappel r, Main main) { super("Rappel : " + r.getTitre()); ImageIcon logo = new ImageIcon("logo.png"); @@ -73,6 +101,15 @@ public class FenetreRappel extends JFrame implements ActionListener{ main.dispose(); } + /** + * Gère les actions effectuées sur les boutons de la fenêtre. + *
    + *
  • Fermer : ferme la fenêtre actuelle.
  • + *
  • Modifier : ouvre la fenêtre de modification du rappel.
  • + *
+ * + * @param e l’événement d’action déclenché + */ @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btnFermer) { diff --git a/src/fr/iutfbleau/papillon/GestionModif.java b/src/fr/iutfbleau/papillon/GestionModif.java index 7134547..c71baa1 100644 --- a/src/fr/iutfbleau/papillon/GestionModif.java +++ b/src/fr/iutfbleau/papillon/GestionModif.java @@ -1,22 +1,66 @@ -import javax.swing.*; -import java.awt.event.*; -import java.util.ArrayList; +package fr.iutfbleau.papillon; +import java.util.ArrayList; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + + +/** + * La classe GestionModif gère les boutons de la fenêtre + * de modification d’un rappel dans l’application Papillon. + *

+ * Elle permet à l’utilisateur de valider ou d’annuler les changements + * effectués sur un rappel existant. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class GestionModif extends ArrayList implements ActionListener{ + + /** Bouton de validation. */ private final JButton boutonValider; + + /** Bouton d'annulation. */ private final JButton boutonAnnuler; + /** Champ de saisie pour le titre du rappel. */ private final JTextField champTitre; + + /** Champ de saisie pour le contenu du rappel. */ private final JTextArea champContenu; + + /** Sélecteur du niveau de priorité. */ private JComboBox rang; + + /** Sélecteur du thème du rappel. */ private final JComboBox comboTheme; + + /** Référence au rappel à modifier. */ private Rappel rappel; + /** Gestionnaire des commandes agissant sur les rappels. */ private final GestionRappel ges = new GestionRappel(); + + /** Référence à la fenêtre principale. */ private final Main parent; + + /** Référence à la fenêtre de modification. */ private final JFrame f; + /** + * Constructeur du gestionnaire de boutons pour la fenêtre de modification. + * + * @param f la fenêtre de modification + * @param parent la fenêtre principale + * @param champTitre le champ de texte pour le titre + * @param champContenu la zone de texte pour le contenu + * @param rang la liste déroulante de priorité + * @param comboTheme la liste déroulante du thème + * @param r le rappel à modifier + */ public GestionModif(JFrame f, Main parent, JTextField champTitre, JTextArea champContenu, JComboBox rang, JComboBox comboTheme, Rappel r){ this.f = f; @@ -36,6 +80,15 @@ public class GestionModif extends ArrayList implements ActionListener{ } + /** + * Gère les actions effectuées sur les boutons de la fenêtre. + *

+ * Si l’utilisateur clique sur Annuler, la fenêtre principale est réaffichée. + * Si l’utilisateur clique sur Valider, les changements sont enregistrés. + *

+ * + * @param e l’événement d’action déclenché par un bouton + */ @Override public void actionPerformed(ActionEvent e) { Object src = e.getSource(); diff --git a/src/fr/iutfbleau/papillon/LimiteContenu.java b/src/fr/iutfbleau/papillon/LimiteContenu.java index e72a597..8ecca50 100644 --- a/src/fr/iutfbleau/papillon/LimiteContenu.java +++ b/src/fr/iutfbleau/papillon/LimiteContenu.java @@ -1,12 +1,40 @@ +package fr.iutfbleau.papillon; + import javax.swing.text.*; +/** + * La classe LimiteContenu permet de limiter le nombre + * de caractères pouvant être saisis dans un champ de texte Swing. + *

+ * Elle hérite de PlainDocument et empêche toute insertion + * dépassant la limite définie. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class LimiteContenu extends PlainDocument { + + /** Limite de caractères autorisés. */ private int limite; + /** + * Constructeur qui définit la limite de caractères. + * + * @param limite le nombre maximum de caractères autorisés + */ public LimiteContenu(int limite) { this.limite = limite; } + /** + * Insère une chaîne dans le document si elle ne dépasse pas la limite autorisée. + * + * @param offset la position d’insertion + * @param str la chaîne à insérer + * @param attr les attributs du texte + * @throws BadLocationException si la position est invalide + */ @Override public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException { diff --git a/src/fr/iutfbleau/papillon/Start.java b/src/fr/iutfbleau/papillon/Start.java index d61b73c..37faa56 100644 --- a/src/fr/iutfbleau/papillon/Start.java +++ b/src/fr/iutfbleau/papillon/Start.java @@ -1,6 +1,27 @@ +package fr.iutfbleau.papillon; - +/** + * La classe Start constitue le point d’entrée principal + * de l’application Papillon. + *

+ * Elle initialise la fenêtre principale et lance l’interface graphique + * de l’application. + *

+ * + * @version 1.0 + * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL + */ public class Start{ + + /** + * Méthode principale exécutée au démarrage du programme. + *

+ * Crée une instance de la fenêtre principale (Main) + * et l’affiche à l’écran. + *

+ * + * @param args les arguments passés en ligne de commande (non utilisés) + */ public static void main(String[] args) { Main f = new Main(); f.setVisible(true);