Bonjour,
je sais que c'est un problème récurrent dans les JTable et je me suis renseigné dessus mais je ne parviens pas à l'appliquer à ma JTreeTable.
J'ai tout d'abord essayé de le faire en utilisant la methode setValueAt :
setValueAt(new ImageIcon("/chemin/icone.png"), 2, 5);
Mais ça m'affiche le chemin vers l'icone. D'après mes recherches sur le forum, il faut alors que j'utilise un nouveau Renderer pour ma cellule (enfin, colonne dans mon cas).
J'ai donc fait :
1 2
| TableColumn column5 = treeTable.getColumnModel().getColumn(5);
column5.setCellRenderer(new IconRenderer()); |
Et dans ma classe IconRenderer
1 2 3 4 5 6 7 8 9 10 11 12
| public class IconRenderer extends DefaultTableCellRenderer {
public IconRenderer() {
super();
//ImageIcon icone = new ImageIcon("/chemin/icone.png");
//setIcon(icone);
}
public void setValue(ImageIcon icon) {
ImageIcon icone = new ImageIcon("/chemin/icone.png");
setIcon(icone);
}
} |
Si je mets le new ImageIcon dans le constructeur, toute ma colonne a l'icone ce qui me parait logique. Dans les posts que j'ai vu (ou les tutos, je ne sais plus), ils utilisent une methode setValue(). Je comprends bien le principe et c'est ce que je cherche, je pense, mais je ne vois pas comment est ce que je peux l'appeler
Merci pour votre aide
Partager