J'ai une table avec un modèle de table personnalisé qui a deux colonnes. La colonne 0 est une classe ImageIcon et la colonne 1 est une classe String.Java JTable TableCellRenderer avec ImageIcon Colonne
public Class<?> getColumnClass(int col) {
if (col == 0) {
return ImageIcon.class;
} else {
return String.class;
}
}
Quand je définir une nouvelle classe TableCellRenderer à ajouter aux colonnes afin que je puisse le style des cellules, elle écrasera la classe ImageIcon et il met à une chaîne.
public class CustomTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent (JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int
column)
{
Component cell = super.getTableCellRendererComponent(table,
obj, isSelected, hasFocus, row, column);
if(isSelected)
cell.setBackground(Color.BLUE);
return cell;
}
}
Des idées sur comment résoudre ce problème?
Mon erreur, il est en quelque sorte caché:
Quand je définir une nouvelle classe de TableCellRenderer à ajouter aux colonnes je peux donc le style des cellules, elle écrasera la classe ImageIcon et il met à une chaîne .
Le problème est que, quand je décris cette classe TableCellRenderer de style ma table, les colonnes de ImageIcon à mon tour de table à cordes comme « Fichier: ... » au lieu de l'icône réelle.
Je suis désolé, mais il semble que vous n'ayez pas posé la question. Vous venez d'expliquer ce que vous faites. S'il vous plaît expliquer le problème. Qu'est-ce qui ne va pas? Qu'est-ce qui ne fonctionne pas? – AlexR
Etes-vous sûr que c'est le moteur de rendu que vous voyez et non l'éditeur? Est-ce que cet affichage des nombres se produit pour toutes les cellules, ou seulement la cellule qui a le focus et est en cours d'édition? Si ce dernier, vous devrez peut-être jouer avec l'éditeur de cellules. –
Affichage de quels numéros? Parce que ma cellule devient en fait bleue sur select alors je suis sûr que c'est le moteur de rendu. – rvk