implementation des theme

This commit is contained in:
2025-10-23 09:00:02 +02:00
parent 5bfaff0f62
commit a747e2867e
+37 -37
View File
@@ -1,37 +1,37 @@
import javax.swing.*;
import javax.swing.Icon;
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.
*/
public class CouleurList extends DefaultListCellRenderer {
/** renvoie la couleur correspondant au nom affiché dans le menu */
public static Color couleurDe(String nom) {
switch (nom) {
case "Bleu": return Color.CYAN; // ou Color.BLUE si tu veux un bleu plus foncé
case "Rouge": return Color.RED;
case "Vert": return Color.GREEN;
case "Jaune": return Color.YELLOW;
case "Gris": return Color.LIGHT_GRAY;
default: return Color.WHITE;
}
}
@Override
public Component 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;
}
}
import javax.swing.*;
import javax.swing.Icon;
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.
*/
public class CouleurList extends DefaultListCellRenderer {
/** renvoie la couleur correspondant au nom affiché dans le menu */
public static Color couleurDe(String nom) {
switch (nom) {
case "Bleu": return Color.CYAN; // ou Color.BLUE si tu veux un bleu plus foncé
case "Rouge": return Color.RED;
case "Vert": return Color.GREEN;
case "Jaune": return Color.YELLOW;
case "Gris": return Color.LIGHT_GRAY;
default: return Color.WHITE;
}
}
@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;
}
}