Bonjour,

Je me trouve face à un petit soucis. Lorsque j'affiche ma jtable, si dans une colonne ayant une classe Date, la première valeur est nulle ou chaine vide, le renderer n'est pas appliqué. J'ai donc "";"";"";"";"";"Wed Mar 17 00:00:00 CET 2004" qui s'affiche.

C'est bof comme résultat. Quelqu'un pourrait-il m'expliquer comment éviter ceci.
J'ai essayé de parcourir les lignes si la cellule est vide ou nulle mais ca foire complètement.
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
public class DateCellRenderer extends DefaultTableCellRenderer {
 
    private SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yy");
 
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        if((value=="")||(value==null)){
            setText("");
        }else{
         setText(formatDate.format(value));
         System.out.println(value + " - " + this.getText());
        }
        return this;
    }
}
Je tiens à préciser que les headers sont créer en parcourant la classe de la liste des données.
voici la méthode de mise à jour du JFrame
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 public void update(List<Affaire> listAffaire) {
        TableModelPerso modeleTable = null;
        if ((listAffaire == null)||(listAffaire.isEmpty())) {
            modeleTable = new TableModelPerso(Affaire.class);
        } else {
            modeleTable = new TableModelPerso(listAffaire);
        }
        this.tableAffaire.setModel(modeleTable);
        DateCellRenderer dateRenderer= new DateCellRenderer();
        this.tableAffaire.setDefaultRenderer(Date.class, dateRenderer);
        this.scrllAffaires.revalidate();
        this.repaint();
    }
Merci d'avance