Ajout de la JavaDoc sur les bouton,crud,fenetre modification et rappel.... + ajout du package

This commit is contained in:
sehl
2025-10-26 02:14:25 +01:00
parent 0beba32b0b
commit 4bf2e75bab
9 changed files with 320 additions and 18 deletions
+38 -2
View File
@@ -1,13 +1,38 @@
// package fr.iutfbleau.papillon; package fr.iutfbleau.papillon;
import java.util.ArrayList;
import javax.swing.*; import javax.swing.*;
import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.awt.*;
/**
* La classe <code>BtnAjouter</code> représente un bouton permettant
* douvrir la fenêtre dajout dun nouveau rappel dans lapplication <b>Papillon</b>.
* <p>
* Lorsquun utilisateur clique sur ce bouton, une instance de la fenêtre
* <code>FenetreAjout</code> est affichée, tandis que la fenêtre principale est masquée.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class BtnAjouter extends JButton implements ActionListener{ public class BtnAjouter extends JButton implements ActionListener{
/**
* Référence vers la fenêtre principale de lapplication.
* Elle permet de gérer la visibilité des fenêtres lors de lajout dun rappel.
*/
private Main main; private Main main;
/**
* Construit un bouton "Ajouter" associé à la fenêtre principale.
* <p>
* Ce bouton est configuré avec une taille fixe et un écouteur daction
* pour réagir aux clics de lutilisateur.
* </p>
*
* @param main la fenêtre principale de lapplication <b>Papillon</b>
*/
public BtnAjouter(Main main){ public BtnAjouter(Main main){
super("Ajouter"); super("Ajouter");
this.main = main; this.main = main;
@@ -18,6 +43,17 @@ public class BtnAjouter extends JButton implements ActionListener{
} }
/**
* Méthode appelée lorsquun clic est détecté sur le bouton.
* <p>
* Ouvre une nouvelle fenêtre dajout (<code>FenetreAjout</code>),
* positionnée au même endroit que la fenêtre principale, puis
* masque cette dernière.
* </p>
*
* @param e l’événement daction généré par le clic sur le bouton
*/
@Override
public void actionPerformed(ActionEvent e){ public void actionPerformed(ActionEvent e){
if(e.getSource()==this){ if(e.getSource()==this){
FenetreAjout f = new FenetreAjout(main); FenetreAjout f = new FenetreAjout(main);
+35 -3
View File
@@ -1,14 +1,46 @@
import javax.swing.*; package fr.iutfbleau.papillon;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.List; import java.util.List;
/**
* La classe <code>BtnModifier</code> représente un bouton permettant
* de modifier un rappel existant dans lapplication <b>Papillon</b>.
* <p>
* Lorsquun utilisateur clique sur ce bouton, il vérifie quun seul rappel
* est sélectionné. Si cest le cas, la fenêtre de modification
* (<code>FenetreModif</code>) souvre pour permettre à lutilisateur
* de modifier les informations du rappel choisi.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class BtnModifier extends JButton implements ActionListener { public class BtnModifier extends JButton implements ActionListener {
/**
* Référence vers le rappel actuellement sélectionné.
*/
private Rappel rappel; private Rappel rappel;
/**
* Référence vers la fenêtre principale de lapplication.
* Elle permet de gérer la visibilité des fenêtres lors de la modification dun rappel.
*/
private final Main main; private final Main main;
/**
* Construit un bouton "Modifier" associé à la fenêtre principale.
* <p>
* Ce bouton est configuré avec une taille fixe et un écouteur daction
* pour réagir aux clics de lutilisateur.
* </p>
*
* @param main la fenêtre principale de lapplication <b>Papillon</b>
*/
public BtnModifier(Main main) { public BtnModifier(Main main) {
super("Modifier"); super("Modifier");
this.main = main; this.main = main;
+42 -1
View File
@@ -1,4 +1,4 @@
// package fr.iutfbleau.papillon; package fr.iutfbleau.papillon;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -6,11 +6,40 @@ import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
/**
* La classe <code>BtnSupprimer</code> représente un bouton permettant
* de supprimer un ou plusieurs rappels dans lapplication <b>Papillon</b>.
* <p>
* Lorsquun utilisateur clique sur ce bouton, une boîte de confirmation
* saffiche afin de valider la suppression. Si lutilisateur confirme,
* les rappels sélectionnés sont supprimés de la liste.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class BtnSupprimer extends JButton implements ActionListener{ public class BtnSupprimer extends JButton implements ActionListener{
/**
* Gestionnaire des rappels permettant deffectuer la suppression.
*/
private GestionRappel ges; private GestionRappel ges;
/**
* Référence vers la fenêtre principale de lapplication.
* Elle permet de gérer la visibilité des fenêtres lors de la suppression dun rappel.
*/
private Main main; private Main main;
/**
* Construit un bouton "Supprimer" associé à la fenêtre principale.
* <p>
* Ce bouton est configuré avec une taille fixe et un écouteur daction
* pour réagir aux clics de lutilisateur.
* </p>
*
* @param main la fenêtre principale de lapplication <b>Papillon</b>
*/
public BtnSupprimer(Main main){ public BtnSupprimer(Main main){
super("Supprimer"); super("Supprimer");
this.main = main; this.main = main;
@@ -19,6 +48,18 @@ public class BtnSupprimer extends JButton implements ActionListener{
setFocusPainted(false); setFocusPainted(false);
} }
/**
* Gère laction effectuée lors dun clic sur le bouton.
* <p>
* Si aucun rappel nest sélectionné, un message davertissement est affiché.
* Sinon, une boîte de dialogue de confirmation souvre avant de procéder
* à la suppression des rappels choisis.
* </p>
*
* @param e l’événement daction déclenché par un clic
*/
@Override
public void actionPerformed(ActionEvent e){ public void actionPerformed(ActionEvent e){
if(e.getSource()==this){ if(e.getSource()==this){
+26 -1
View File
@@ -1,14 +1,39 @@
// package fr.iutfbleau.papillon; package fr.iutfbleau.papillon;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.*; import javax.swing.*;
/**
* La classe <code>Crud</code> regroupe les trois boutons principaux
* de gestion des rappels dans lapplication <b>Papillon</b> :
* <ul>
* <li><b>Ajouter</b> — pour créer un nouveau rappel,</li>
* <li><b>Supprimer</b> — pour supprimer un ou plusieurs rappels,</li>
* <li><b>Modifier</b> — pour éditer un rappel existant.</li>
* </ul>
* <p>
* Cette classe centralise leur création et leur ajout à linterface.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class Crud extends ArrayList<JButton>{ public class Crud extends ArrayList<JButton>{
/** Bouton dajout de rappel. */
private BtnAjouter btnAjt; private BtnAjouter btnAjt;
/** Bouton de suppression de rappel. */
private BtnSupprimer btnSpr; private BtnSupprimer btnSpr;
/** Bouton de modification de rappel. */
private BtnModifier btnMdf; private BtnModifier btnMdf;
/**
* Constructeur de la barre dactions CRUD.
*
* @param main la fenêtre principale de lapplication <b>Papillon</b>
*/
public Crud(Main main){ public Crud(Main main){
btnAjt = new BtnAjouter(main); btnAjt = new BtnAjouter(main);
+31 -2
View File
@@ -1,19 +1,48 @@
package fr.iutfbleau.papillon;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
/**
* La classe <code>FenetreModif</code> permet dafficher une fenêtre
* dédiée à la modification dun rappel existant dans lapplication <b>Papillon</b>.
* <p>
* Elle reprend les informations du rappel sélectionné et permet à lutilisateur
* de les modifier avant de valider les changements.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class FenetreModif extends JFrame { public class FenetreModif extends JFrame {
/** Gestionnaire des boutons de modification. */
private GestionModif listBtnModif; private GestionModif listBtnModif;
/** Champ de saisie pour le titre du rappel. */
private final JTextField champTitre; private final JTextField champTitre;
/** Champ de saisie pour le contenu du rappel. */
private final JTextArea champContenu; private final JTextArea champContenu;
/** Liste de niveaux de priorité disponibles. */
private Integer[] nombres = {1, 2, 3, 4, 5}; private Integer[] nombres = {1, 2, 3, 4, 5};
/** Sélecteur du niveau de priorité. */
private JComboBox<Integer> rang = new JComboBox<>(nombres); private JComboBox<Integer> rang = new JComboBox<>(nombres);
/** Liste des noms de thèmes disponibles. */
private final String[] nomsCouleurs = {"Bleu", "Rouge", "Vert", "Jaune", "Rose"}; private final String[] nomsCouleurs = {"Bleu", "Rouge", "Vert", "Jaune", "Rose"};
/** Sélecteur du thème du rappel. */
private final JComboBox<String> comboTheme = new JComboBox<>(nomsCouleurs); private final JComboBox<String> comboTheme = new JComboBox<>(nomsCouleurs);
/**
* Constructeur de la fenêtre de modification.
*
* @param parent la fenêtre principale de lapplication <b>Papillon</b>
* @param rappel le rappel à modifier
*/
public FenetreModif(Main parent, Rappel rappel) { public FenetreModif(Main parent, Rappel rappel) {
super("Modifier un rappel"); super("Modifier un rappel");
ImageIcon logo = new ImageIcon("logo.png"); ImageIcon logo = new ImageIcon("logo.png");
@@ -25,7 +54,7 @@ public class FenetreModif extends JFrame {
setLocation(parent.getLocation()); // même position que Main setLocation(parent.getLocation()); // même position que Main
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// UI // Layout principal
setLayout(new BorderLayout(10, 10)); setLayout(new BorderLayout(10, 10));
JPanel centre = new JPanel(new GridBagLayout()); JPanel centre = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints(); GridBagConstraints c = new GridBagConstraints();
+38 -1
View File
@@ -1,14 +1,42 @@
package fr.iutfbleau.papillon;
import javax.swing.event.*;
import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*;
/**
* La classe <code>FenetreRappel</code> représente la fenêtre daffichage
* détaillée dun rappel dans lapplication <b>Papillon</b>.
* <p>
* Elle affiche les informations complètes du rappel sélectionné
* (titre, contenu, thème, et priorité) et permet à lutilisateur
* de le modifier ou de fermer la fenêtre.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class FenetreRappel extends JFrame implements ActionListener{ public class FenetreRappel extends JFrame implements ActionListener{
/** Bouton permettant de fermer la fenêtre. */
private final JButton btnFermer = new JButton("Fermer"); private final JButton btnFermer = new JButton("Fermer");
/** Bouton permettant douvrir la fenêtre de modification du rappel. */
private final JButton btnModifier = new JButton("Modifier"); private final JButton btnModifier = new JButton("Modifier");
/** Référence vers la fenêtre principale de lapplication. */
private final Main main; private final Main main;
/** Référence vers le rappel à afficher. */
private Rappel rappel; private Rappel rappel;
/**
* Constructeur de la fenêtre daffichage dun rappel.
*
* @param r le rappel à afficher
* @param main la fenêtre principale
*/
public FenetreRappel(Rappel r, Main main) { public FenetreRappel(Rappel r, Main main) {
super("Rappel : " + r.getTitre()); super("Rappel : " + r.getTitre());
ImageIcon logo = new ImageIcon("logo.png"); ImageIcon logo = new ImageIcon("logo.png");
@@ -73,6 +101,15 @@ public class FenetreRappel extends JFrame implements ActionListener{
main.dispose(); main.dispose();
} }
/**
* Gère les actions effectuées sur les boutons de la fenêtre.
* <ul>
* <li><b>Fermer</b> : ferme la fenêtre actuelle.</li>
* <li><b>Modifier</b> : ouvre la fenêtre de modification du rappel.</li>
* </ul>
*
* @param e l’événement daction déclenché
*/
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnFermer) { if (e.getSource() == btnFermer) {
+56 -3
View File
@@ -1,22 +1,66 @@
import javax.swing.*; package fr.iutfbleau.papillon;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.ArrayList;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* La classe <code>GestionModif</code> gère les boutons de la fenêtre
* de modification dun rappel dans lapplication <b>Papillon</b>.
* <p>
* Elle permet à lutilisateur de valider ou dannuler les changements
* effectués sur un rappel existant.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class GestionModif extends ArrayList<JButton> implements ActionListener{ public class GestionModif extends ArrayList<JButton> implements ActionListener{
/** Bouton de validation. */
private final JButton boutonValider; private final JButton boutonValider;
/** Bouton d'annulation. */
private final JButton boutonAnnuler; private final JButton boutonAnnuler;
/** Champ de saisie pour le titre du rappel. */
private final JTextField champTitre; private final JTextField champTitre;
/** Champ de saisie pour le contenu du rappel. */
private final JTextArea champContenu; private final JTextArea champContenu;
/** Sélecteur du niveau de priorité. */
private JComboBox<Integer> rang; private JComboBox<Integer> rang;
/** Sélecteur du thème du rappel. */
private final JComboBox<String> comboTheme; private final JComboBox<String> comboTheme;
/** Référence au rappel à modifier. */
private Rappel rappel; private Rappel rappel;
/** Gestionnaire des commandes agissant sur les rappels. */
private final GestionRappel ges = new GestionRappel(); private final GestionRappel ges = new GestionRappel();
/** Référence à la fenêtre principale. */
private final Main parent; private final Main parent;
/** Référence à la fenêtre de modification. */
private final JFrame f; 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<Integer> rang, JComboBox<String> comboTheme, Rappel r){ public GestionModif(JFrame f, Main parent, JTextField champTitre, JTextArea champContenu, JComboBox<Integer> rang, JComboBox<String> comboTheme, Rappel r){
this.f = f; this.f = f;
@@ -36,6 +80,15 @@ public class GestionModif extends ArrayList<JButton> implements ActionListener{
} }
/**
* Gère les actions effectuées sur les boutons de la fenêtre.
* <p>
* Si lutilisateur clique sur <b>Annuler</b>, la fenêtre principale est réaffichée.
* Si lutilisateur clique sur <b>Valider</b>, les changements sont enregistrés.
* </p>
*
* @param e l’événement daction déclenché par un bouton
*/
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Object src = e.getSource(); Object src = e.getSource();
@@ -1,12 +1,40 @@
package fr.iutfbleau.papillon;
import javax.swing.text.*; import javax.swing.text.*;
/**
* La classe <code>LimiteContenu</code> permet de limiter le nombre
* de caractères pouvant être saisis dans un champ de texte Swing.
* <p>
* Elle hérite de <code>PlainDocument</code> et empêche toute insertion
* dépassant la limite définie.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class LimiteContenu extends PlainDocument { public class LimiteContenu extends PlainDocument {
/** Limite de caractères autorisés. */
private int limite; 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) { public LimiteContenu(int limite) {
this.limite = 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 dinsertion
* @param str la chaîne à insérer
* @param attr les attributs du texte
* @throws BadLocationException si la position est invalide
*/
@Override @Override
public void insertString(int offset, String str, AttributeSet attr) public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException { throws BadLocationException {
+22 -1
View File
@@ -1,6 +1,27 @@
package fr.iutfbleau.papillon;
/**
* La classe <code>Start</code> constitue le point dentrée principal
* de lapplication <b>Papillon</b>.
* <p>
* Elle initialise la fenêtre principale et lance linterface graphique
* de lapplication.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class Start{ public class Start{
/**
* Méthode principale exécutée au démarrage du programme.
* <p>
* Crée une instance de la fenêtre principale (<code>Main</code>)
* et laffiche à l’écran.
* </p>
*
* @param args les arguments passés en ligne de commande (non utilisés)
*/
public static void main(String[] args) { public static void main(String[] args) {
Main f = new Main(); Main f = new Main();
f.setVisible(true); f.setVisible(true);