Probleme avec Renderer sur colonne Date
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:
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:
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