AJOUT DE LA SAE3.1

This commit is contained in:
sehl
2025-10-26 22:40:26 +01:00
parent fd3040a1a8
commit b8723d944f
32 changed files with 35634 additions and 1 deletions
@@ -0,0 +1,60 @@
package fr.iutfbleau.papillon;
import javax.swing.*;
import java.awt.*;
/**
* 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 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;
case "Rouge": return Color.RED;
case "Vert": return Color.GREEN;
case "Jaune": return Color.YELLOW;
case "Rose": return Color.PINK;
default: return Color.WHITE;
}
}
/**
* 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) {
JLabel lbl = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value != null) {
String nom = value.toString();
lbl.setIcon(new ColorIcon(couleurDe(nom), 14, 14));
lbl.setIconTextGap(8); // petit espace entre le carré et le texte
}
return lbl;
}
}