Ajout de la javadoc + package

This commit is contained in:
2025-10-26 02:54:02 +02:00
parent 2387ebfe11
commit 1ce86a4ee3
6 changed files with 226 additions and 11 deletions
+23
View File
@@ -1,13 +1,36 @@
import javax.swing.*;
/**
* La classe <code>ChoixRang</code> représente une liste déroulante
* permettant de filtrer les rappels selon leur niveau de priorité (rang)
* dans lapplication <b>Papillon</b>.
* <p>
* Lutilisateur peut sélectionner un rang spécifique ou choisir “Tout”
* pour afficher tous les rappels.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class ChoixRang extends JComboBox<String> {
/**
* Constructeur qui initialise la liste déroulante des rangs.
* <p>
* Par défaut, l’élément sélectionné est “Tout”.
* </p>
*/
public ChoixRang(){
super(new String[]{"Tout", "Rang 1", "Rang 2", "Rang 3","Rang 4", "Rang 5"});
this.setSelectedItem("Tout");
this.addActionListener(this);
}
/**
* Met à jour laffichage des rappels en fonction du rang sélectionné.
*
* @param main la fenêtre principale de lapplication <b>Papillon</b>
*/
public void tirage(Main main){
main.setTrie(this.getSelectedIndex());
+41
View File
@@ -3,28 +3,69 @@ import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
/**
* La classe <code>ColorIcon</code> permet dafficher un petit carré coloré
* servant dicône dans linterface de lapplication <b>Papillon</b>.
* <p>
* Elle est utilisée notamment pour représenter visuellement un thème de couleur
* associé à un rappel ou un élément dinterface.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class ColorIcon implements Icon {
/** Couleur à afficher dans licône. */
private final Color couleur;
/** Largeur de licône. */
private final int largeur;
/** Hauteur de licône. */
private final int hauteur;
/**
* Constructeur de licône colorée.
*
* @param couleur la couleur de licône
* @param largeur la largeur de licône
* @param hauteur la hauteur de licône
*/
public ColorIcon(Color couleur, int largeur, int hauteur) {
this.couleur = couleur;
this.largeur = largeur;
this.hauteur = hauteur;
}
/**
* Renvoie la largeur de licône.
*
* @return la largeur de licône
*/
@Override
public int getIconWidth() {
return largeur;
}
/**
* Renvoie la hauteur de licône.
*
* @return la hauteur de licône
*/
@Override
public int getIconHeight() {
return hauteur;
}
/**
* Dessine licône sur le composant spécifié.
*
* @param c le composant sur lequel licône est dessinée
* @param g le contexte graphique utilisé pour le dessin
* @param x la position horizontale du coin supérieur gauche
* @param y la position verticale du coin supérieur gauche
*/
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
g.setColor(couleur);
+25 -3
View File
@@ -2,13 +2,25 @@ import javax.swing.*;
import java.awt.*;
/**
* Renderer simple pour afficher un petit carré coloré dans la liste déroulante.
* J'utilise juste un switch pour déterminer la couleur à partir du nom.
* La classe <code>CouleurList</code> permet dafficher des couleurs
* associées à des thèmes dans les listes déroulantes de lapplication <b>Papillon</b>.
* <p>
* Elle agit comme un <b>renderer</b> personnalisé, affichant un petit carré coloré
* à côté du nom du thème.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class CouleurList extends DefaultListCellRenderer {
/** renvoie la couleur correspondant au nom affiché dans le menu */
/**
* Renvoie la couleur correspondant au nom affiché dans le menu déroulant.
*
* @param nom le nom du thème (ex. : "Bleu", "Rouge", "Vert", etc.)
* @return la couleur associée au thème, ou blanc par défaut
*/
public Color couleurDe(String nom) {
switch (nom) {
case "Bleu": return Color.CYAN;
@@ -20,6 +32,16 @@ public class CouleurList extends DefaultListCellRenderer {
}
}
/**
* Personnalise laffichage des éléments dans la liste déroulante.
*
* @param list la liste affichant les éléments
* @param value l’élément à afficher
* @param index lindice de l’élément dans la liste
* @param isSelected indique si l’élément est sélectionné
* @param cellHasFocus indique si l’élément a le focus
* @return le composant personnalisé pour laffichage de l’élément
*/
@Override
public JLabel getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus) {
+28 -1
View File
@@ -3,19 +3,46 @@
import javax.swing.*;
import java.awt.*;
/**
* La classe <code>FenetreAjout</code> permet dafficher une fenêtre
* dédiée à lajout dun nouveau rappel dans lapplication <b>Papillon</b>.
* <p>
* Elle contient les champs nécessaires à la saisie du titre, du contenu,
* de la priorité et du thème du rappel.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class FenetreAjout extends JFrame {
/** Champ de saisie pour le titre du rappel. */
private final JTextField champTitre;
/** 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<Integer> 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<String> comboTheme = new JComboBox<>(nomsCouleurs);
/** Gestionnaire des boutons d'ajout. */
private GestionAjout listBtnAjout;
/**
* Constructeur de la fenêtre dajout.
*
* @param parent la fenêtre principale de lapplication <b>Papillon</b>
*/
public FenetreAjout(Main parent) {
super("Ajouter un rappel");
ImageIcon logo = new ImageIcon("logo.png");
+52 -6
View File
@@ -3,18 +3,54 @@ import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
/**
* La classe <code>GestionAjout</code> gère les boutons de la fenêtre
* dajout dun rappel dans lapplication <b>Papillon</b>.
* <p>
* Elle contient les boutons <b>Valider</b> et <b>Annuler</b>, et définit
* le comportement associé à chacun deux.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class GestionAjout extends ArrayList<JButton> 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;
private final JTextArea champContenu;
private JComboBox<Integer> rang;
private final JComboBox<String> comboTheme;
private final Main parent;
private final JFrame f;
/** Champ de saisie pour le contenu du rappel. */
private final JTextArea champContenu;
/** Sélecteur du niveau de priorité. */
private JComboBox<Integer> rang;
/** Sélecteur du thème du rappel. */
private final JComboBox<String> comboTheme;
/** Référence à la fenêtre principale. */
private final Main parent;
/** Référence à la fenêtre d'ajout. */
private final JFrame f;
/**
* Constructeur du gestionnaire de boutons pour la fenêtre dajout.
*
* @param f la fenêtre dajout
* @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
*/
public GestionAjout(JFrame f, Main parent, JTextField champTitre, JTextArea champContenu, JComboBox<Integer> rang, JComboBox<String> comboTheme){
this.f = f;
@@ -33,7 +69,17 @@ public class GestionAjout 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 dajout est fermée
* et la fenêtre principale est réaffichée.
* Si lutilisateur clique sur <b>Valider</b>, un nouveau rappel est créé
* et ajouté à la liste principale.
* </p>
*
* @param e l’événement daction déclenché par un clic sur un bouton
*/
@Override
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
+57 -1
View File
@@ -6,13 +6,39 @@ import java.awt.event.*;
import java.util.ArrayList;
import java.util.List;
/**
* La classe <code>Main</code> représente la fenêtre principale
* de lapplication <b>Papillon</b>.
* <p>
* Elle gère laffichage des rappels, leur tri, ainsi que les
* interactions avec les boutons dajout, de suppression et de modification.
* </p>
*
* @version 1.0
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
*/
public class Main extends JFrame implements ActionListener{
/** Liste des panneaux représentant les rappels. */
private List<PanelRappel> listRpl = new ArrayList<>();
/** Panneau contenant la liste des rappels. */
private JPanel liste = new JPanel();
/** Menu déroulant permettant de trier les rappels par priorité. */
private ChoixRang trier = new ChoixRang();
/** Conteneur racine de la fenêtre principale. */
private JPanel root = new JPanel(new BorderLayout());
/**
* Constructeur de la fenêtre principale de lapplication.
* <p>
* Initialise les composants graphiques, configure la disposition et
* charge la liste des rappels au démarrage.
* </p>
*/
public Main(){
super("Papillon");
ImageIcon logo = new ImageIcon("logo.png");
@@ -87,11 +113,23 @@ liste.setLayout(new BoxLayout(liste, BoxLayout.Y_AXIS));
}
/**
* Renvoie la liste des panneaux de rappels actuellement affichés.
*
* @return une liste de <code>PanelRappel</code>
*/
public List<PanelRappel> getPanelRpl(){
return listRpl;
}
/**
* Met à jour la fenêtre principale après une modification
* (ajout, suppression ou édition dun rappel).
* <p>
* Cette méthode recharge le panneau des rappels
* et force le recalcul de laffichage.
* </p>
*/
public void maj(){
liste = this.getRPanel();
@@ -102,6 +140,11 @@ public void maj(){
this.repaint();
}
/**
* Applique un tri des rappels selon leur rang de priorité.
*
* @param rang le niveau de priorité sélectionné dans le menu
*/
public void setTrie(int rang){
listRpl = new ArrayList<>();
@@ -132,10 +175,23 @@ for(int i=0;i<listBd.size();i++){
}
/**
* Renvoie le panneau contenant les rappels.
*
* @return le panneau de type <code>JPanel</code> affichant les rappels
*/
public JPanel getRPanel(){
return liste;
}
/**
* Gère les actions utilisateur sur le menu déroulant de tri.
* <p>
* Réinitialise la liste et applique le tri sélectionné.
* </p>
*
* @param ea l’événement daction déclenché
*/
@Override
public void actionPerformed(ActionEvent ea) {