Ajout de la javadoc + package
This commit is contained in:
@@ -1,13 +1,36 @@
|
|||||||
import javax.swing.*;
|
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> {
|
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(){
|
public ChoixRang(){
|
||||||
super(new String[]{"Tout", "Rang 1", "Rang 2", "Rang 3","Rang 4", "Rang 5"});
|
super(new String[]{"Tout", "Rang 1", "Rang 2", "Rang 3","Rang 4", "Rang 5"});
|
||||||
this.setSelectedItem("Tout");
|
this.setSelectedItem("Tout");
|
||||||
this.addActionListener(this);
|
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){
|
public void tirage(Main main){
|
||||||
|
|
||||||
main.setTrie(this.getSelectedIndex());
|
main.setTrie(this.getSelectedIndex());
|
||||||
|
|||||||
@@ -3,28 +3,69 @@ import java.awt.Color;
|
|||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Graphics;
|
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 {
|
public class ColorIcon implements Icon {
|
||||||
|
|
||||||
|
/** Couleur à afficher dans l’icône. */
|
||||||
private final Color couleur;
|
private final Color couleur;
|
||||||
|
|
||||||
|
/** Largeur de l’icône. */
|
||||||
private final int largeur;
|
private final int largeur;
|
||||||
|
|
||||||
|
/** Hauteur de l’icône. */
|
||||||
private final int hauteur;
|
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) {
|
public ColorIcon(Color couleur, int largeur, int hauteur) {
|
||||||
this.couleur = couleur;
|
this.couleur = couleur;
|
||||||
this.largeur = largeur;
|
this.largeur = largeur;
|
||||||
this.hauteur = hauteur;
|
this.hauteur = hauteur;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renvoie la largeur de l’icône.
|
||||||
|
*
|
||||||
|
* @return la largeur de l’icône
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int getIconWidth() {
|
public int getIconWidth() {
|
||||||
return largeur;
|
return largeur;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renvoie la hauteur de l’icône.
|
||||||
|
*
|
||||||
|
* @return la hauteur de l’icône
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int getIconHeight() {
|
public int getIconHeight() {
|
||||||
return hauteur;
|
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
|
@Override
|
||||||
public void paintIcon(Component c, Graphics g, int x, int y) {
|
public void paintIcon(Component c, Graphics g, int x, int y) {
|
||||||
g.setColor(couleur);
|
g.setColor(couleur);
|
||||||
|
|||||||
@@ -2,13 +2,25 @@ import javax.swing.*;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renderer simple pour afficher un petit carré coloré dans la liste déroulante.
|
* La classe <code>CouleurList</code> permet d’afficher des couleurs
|
||||||
* J'utilise juste un switch pour déterminer la couleur à partir du nom.
|
* 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 {
|
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) {
|
public Color couleurDe(String nom) {
|
||||||
switch (nom) {
|
switch (nom) {
|
||||||
case "Bleu": return Color.CYAN;
|
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
|
@Override
|
||||||
public JLabel getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus) {
|
public JLabel getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus) {
|
||||||
|
|
||||||
|
|||||||
@@ -3,19 +3,46 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
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 {
|
public class FenetreAjout extends JFrame {
|
||||||
|
|
||||||
|
/** 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);
|
||||||
|
|
||||||
|
/** Gestionnaire des boutons d'ajout. */
|
||||||
private GestionAjout listBtnAjout;
|
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) {
|
public FenetreAjout(Main parent) {
|
||||||
super("Ajouter un rappel");
|
super("Ajouter un rappel");
|
||||||
ImageIcon logo = new ImageIcon("logo.png");
|
ImageIcon logo = new ImageIcon("logo.png");
|
||||||
|
|||||||
@@ -3,18 +3,54 @@ import java.awt.*;
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
import java.util.ArrayList;
|
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{
|
public class GestionAjout 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 à la fenêtre principale. */
|
||||||
private final Main parent;
|
private final Main parent;
|
||||||
|
|
||||||
|
/** Référence à la fenêtre d'ajout. */
|
||||||
private final JFrame f;
|
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){
|
public GestionAjout(JFrame f, Main parent, JTextField champTitre, JTextArea champContenu, JComboBox<Integer> rang, JComboBox<String> comboTheme){
|
||||||
|
|
||||||
this.f = f;
|
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
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
Object src = e.getSource();
|
Object src = e.getSource();
|
||||||
|
|||||||
@@ -6,13 +6,39 @@ import java.awt.event.*;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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{
|
public class Main extends JFrame implements ActionListener{
|
||||||
|
|
||||||
|
/** Liste des panneaux représentant les rappels. */
|
||||||
private List<PanelRappel> listRpl = new ArrayList<>();
|
private List<PanelRappel> listRpl = new ArrayList<>();
|
||||||
|
|
||||||
|
/** Panneau contenant la liste des rappels. */
|
||||||
private JPanel liste = new JPanel();
|
private JPanel liste = new JPanel();
|
||||||
|
|
||||||
|
/** Menu déroulant permettant de trier les rappels par priorité. */
|
||||||
private ChoixRang trier = new ChoixRang();
|
private ChoixRang trier = new ChoixRang();
|
||||||
|
|
||||||
|
/** Conteneur racine de la fenêtre principale. */
|
||||||
private JPanel root = new JPanel(new BorderLayout());
|
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(){
|
public Main(){
|
||||||
super("Papillon");
|
super("Papillon");
|
||||||
ImageIcon logo = new ImageIcon("logo.png");
|
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(){
|
public List<PanelRappel> getPanelRpl(){
|
||||||
return listRpl;
|
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(){
|
public void maj(){
|
||||||
|
|
||||||
liste = this.getRPanel();
|
liste = this.getRPanel();
|
||||||
@@ -102,6 +140,11 @@ public void maj(){
|
|||||||
this.repaint();
|
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){
|
public void setTrie(int rang){
|
||||||
listRpl = new ArrayList<>();
|
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(){
|
public JPanel getRPanel(){
|
||||||
return liste;
|
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
|
@Override
|
||||||
public void actionPerformed(ActionEvent ea) {
|
public void actionPerformed(ActionEvent ea) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user