AJOUT DE LA SAE3.1
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package fr.iutfbleau.papillon;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* 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 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 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) {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user