Bonjour à tous,
Bon donc voilà c'est assez simple en principe mais je ne parviens pas à mettre une icône à jour dans la cellule d'une JTable.
A l'initialisation de ma JTable, pas de problème je vois bien une icône correspondant à l'état par défaut de mon application (un ? comme montré ci-dessous). Mais lorsque je clique sur un bouton qui exécute un procédure et en fonction du résultat, je voudrais affecter la cellule en fonction de ce mm résultat (un V si OK et une X si KO...).
Voici comment je m'y prend :
Appel de la méthode du TableModel :
((VerifFileTableModel)fileTableVerif.getModel()).setCheckedState(false,0);
Implémentation de la méthode setCheckedState :
public void setCheckedState(boolean validCheck, int row) {
String test = ResourceManager.getString(NAME_COL+2);
int index = columnNames.indexOf(test);
int func = ((Integer)funcToExecute.get(index)).intValue();
System.out.println(getValueAt(0,1).getClass());
if(index != -1){
System.out.println("class : "+getValueAt(0,1).getClass());
if(validCheck){
imgIc = new ImageIcon("images/valide.gif");
this.setValueAt(imgIc, row, index);
}
else{
this.setValueAt(new ImageIcon("images/notvalide.gif"), row, index);
}
}
this.fireTableCellUpdated(row, index);
this.fireTableDataChanged();
}
Et malgré les appels respectifs aux méthodes
this.fireTableCellUpdated(row, index);
this.fireTableDataChanged();
Cela ne fonctionne pas...
Fenêtre dans l'état par défaut :
Je voudrais donc parvenir à changer l'icône de la colonne 'Etat'...
Merci pour votre aide![]()
Partager