Ajout de la javadoc + package
This commit is contained in:
@@ -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 l’application <b>Papillon</b>.
|
||||
* <p>
|
||||
* L’utilisateur 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 l’affichage des rappels en fonction du rang sélectionné.
|
||||
*
|
||||
* @param main la fenêtre principale de l’application <b>Papillon</b>
|
||||
*/
|
||||
public void tirage(Main main){
|
||||
|
||||
main.setTrie(this.getSelectedIndex());
|
||||
|
||||
@@ -3,28 +3,69 @@ import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Graphics;
|
||||
|
||||
/**
|
||||
* La classe <code>ColorIcon</code> permet d’afficher un petit carré coloré
|
||||
* servant d’icône dans l’interface de l’application <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 d’interface.
|
||||
* </p>
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
|
||||
*/
|
||||
public class ColorIcon implements Icon {
|
||||
|
||||
/** Couleur à afficher dans l’icône. */
|
||||
private final Color couleur;
|
||||
|
||||
/** Largeur de l’icône. */
|
||||
private final int largeur;
|
||||
|
||||
/** Hauteur de l’icône. */
|
||||
private final int hauteur;
|
||||
|
||||
/**
|
||||
* Constructeur de l’icône colorée.
|
||||
*
|
||||
* @param couleur la couleur de l’icône
|
||||
* @param largeur la largeur de l’icône
|
||||
* @param hauteur la hauteur de l’icône
|
||||
*/
|
||||
public ColorIcon(Color couleur, int largeur, int hauteur) {
|
||||
this.couleur = couleur;
|
||||
this.largeur = largeur;
|
||||
this.hauteur = hauteur;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie la largeur de l’icône.
|
||||
*
|
||||
* @return la largeur de l’icône
|
||||
*/
|
||||
@Override
|
||||
public int getIconWidth() {
|
||||
return largeur;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie la hauteur de l’icône.
|
||||
*
|
||||
* @return la hauteur de l’icône
|
||||
*/
|
||||
@Override
|
||||
public int getIconHeight() {
|
||||
return hauteur;
|
||||
}
|
||||
|
||||
/**
|
||||
* Dessine l’icône sur le composant spécifié.
|
||||
*
|
||||
* @param c le composant sur lequel l’icô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);
|
||||
|
||||
@@ -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 d’afficher des couleurs
|
||||
* associées à des thèmes dans les listes déroulantes de l’application <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 l’affichage des éléments dans la liste déroulante.
|
||||
*
|
||||
* @param list la liste affichant les éléments
|
||||
* @param value l’élément à afficher
|
||||
* @param index l’indice 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 l’affichage de l’élément
|
||||
*/
|
||||
@Override
|
||||
public JLabel getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus) {
|
||||
|
||||
|
||||
@@ -3,19 +3,46 @@
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
|
||||
/**
|
||||
* La classe <code>FenetreAjout</code> permet d’afficher une fenêtre
|
||||
* dédiée à l’ajout d’un nouveau rappel dans l’application <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 d’ajout.
|
||||
*
|
||||
* @param parent la fenêtre principale de l’application <b>Papillon</b>
|
||||
*/
|
||||
public FenetreAjout(Main parent) {
|
||||
super("Ajouter un rappel");
|
||||
ImageIcon logo = new ImageIcon("logo.png");
|
||||
|
||||
@@ -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
|
||||
* d’ajout d’un rappel dans l’application <b>Papillon</b>.
|
||||
* <p>
|
||||
* Elle contient les boutons <b>Valider</b> et <b>Annuler</b>, et définit
|
||||
* le comportement associé à chacun d’eux.
|
||||
* </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 d’ajout.
|
||||
*
|
||||
* @param f la fenêtre d’ajout
|
||||
* @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 l’utilisateur clique sur <b>Annuler</b>, la fenêtre d’ajout est fermée
|
||||
* et la fenêtre principale est réaffichée.
|
||||
* Si l’utilisateur clique sur <b>Valider</b>, un nouveau rappel est créé
|
||||
* et ajouté à la liste principale.
|
||||
* </p>
|
||||
*
|
||||
* @param e l’événement d’action déclenché par un clic sur un bouton
|
||||
*/
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Object src = e.getSource();
|
||||
|
||||
@@ -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 l’application <b>Papillon</b>.
|
||||
* <p>
|
||||
* Elle gère l’affichage des rappels, leur tri, ainsi que les
|
||||
* interactions avec les boutons d’ajout, 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 l’application.
|
||||
* <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 d’un rappel).
|
||||
* <p>
|
||||
* Cette méthode recharge le panneau des rappels
|
||||
* et force le recalcul de l’affichage.
|
||||
* </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 d’action déclenché
|
||||
*/
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent ea) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user