Bonjour à tous!

Alors je précise d'entrée avant qu'on me lapide , J'ai énormément fait de recherche mais je ne trouve pas mon problème. Pourtant j'ai appliqué la solution de tous les forums et autre cours que j'ai croisé mais pas moyen!
Voila je veux mettre les lignes de ma Table en une couleur selon la valeur d'une case de cette colonne.

Je vous montre mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 
 
private class ModeleTable extends AbstractTableModel{
 
        private final FilDeDiscussion f;
 
        public ModeleTable(FilDeDiscussion f){
            this.f=f;
        }
        @Override
        public int getRowCount() {
            if(f==null)
                return 0;
            else
                return f.getMessages().size();
        }
 
        @Override
        public int getColumnCount() {
            return 5;
        }
 
        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {              
            Message messageCourant=null;
            int i=0;
            for(Message a : f.getMessages()){
                if(i==rowIndex)
                    messageCourant=a;
                i++;
            }
 
            switch(columnIndex){
                case 0: return messageCourant.getAuteur().getPrenom();
                case 1: return messageCourant.getAuteur().getNom();
                case 2: return messageCourant.getAuteur().getIdentifiant();
                case 3: return messageCourant.getDate().toString();
                case 4: return messageCourant.getContenu();
                default: return null;
            }
 
        }
 
        @Override
        public String getColumnName(int i){
            switch (i){
                case 0: return "Prénom";
                case 1: return "Nom";
                case 2: return "Identifiant";
                case 3: return "Date";
                case 4: return "Message";
                default: return null;
            }
        }
 
 
 
    }
 
 
   public class CustomTableCellRenderer extends DefaultTableCellRenderer{
 
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
            Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            Message m;
            m = retourneMessage((String)table.getValueAt(row, 2),(String)table.getValueAt(row, 1),(String)table.getValueAt(row, 3),(String)table.getValueAt(row, 4));
            switch(m.getStatusMessage()){
                case NON_RECU: c.setBackground(new Color(220,220,220));
                case EN_ATTENTE: c.setBackground(new Color(250,80,80));
                case RECU: c.setBackground(new Color(255,210, 135));
                case LU: c.setBackground(new Color(80,250,80));
                default: c.setBackground(new Color(80,250,80));
            }     
            setOpaque(true);
            return c;
 
        }
    }
 
 
 
 
 
    private void creerTableau(FilDeDiscussion fdd){
        JTable table= new JTable( new ModeleTable(fdd));
        TableCellRenderer renderer;
        renderer = new CustomTableCellRenderer();
        try {
            table.setDefaultRenderer( Class.forName( "java.lang.String" ), renderer );
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(InterfaceUtilisateur.class.getName()).log(Level.SEVERE, null, ex);
        }
        table.getColumnModel().getColumn(4).setPreferredWidth(500);
        jScrollPane5.setViewportView(table);
 
    }
Et voici le resultat:

Nom : Capture du 2018-01-14 23-43-35.png
Affichages : 470
Taille : 293,5 Ko

Voila, comme vous voyez la couleur ne change pas, grosse galère...

Merci pour votre aide!!