Desculpa ressucitar o tópico,
mas estou tendo o mesmo tipo de problema.
Segui os passos acima, mas não consigo colocar imagem na minha tabela.
Minha tabela será composta apenas de imagens (ira desenhar um grafo qualquer).
Segue abaixo o meu código
TableModel
public class TabelaDeGrafos extends AbstractTableModel{
private List<Object[]> valores;
public TabelaDeGrafos(List<JLabel[]> valores) {
this.valores = new ArrayList<Object[]>(valores);
}
public int getRowCount() {
return valores.size();
}
public int getColumnCount() {
return valores.get(0).length;
}
public String getColumnName(int columnIndex) {
return String.valueOf(columnIndex);
}
public ImageIcon getValueAt(int row, int column) {
JLabel[] titulo = (JLabel[]) valores.get(row);
ImageIcon image = (ImageIcon) titulo[column].getIcon();
return image;
}
public void setValueAt(String aValue, int rowIndex, int columnIndex) {
Object[] titulo = valores.get(rowIndex);
titulo[columnIndex] = new ImageIcon("img/" + aValue);
}
public Class getColumnClass(int columnIndex) {
return ImageIcon.class;
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
}
TableCellRenderer
[code]
public class FormatacaoDaTabela implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
JLabel lbl = (JLabel) value;
return lbl;
}
}[/code]
grade.setModel(new TabelaDeGrafos(retornaListaParaPopularTabela()));
grade.setDefaultRenderer(ImageIcon.class, new FormatacaoDaTabela());
Se mando imprimir na tabel o getText do JLabel, imprime certinho, mas se altero pra ImageIcon, fica em branco minha tabela, e se altero o tipo pra Image, imprime o caminho
Acho (quase certeza) que não estou sabendo implenetar o TableCellRenderer
Alguem poderia me dar uma luz… são 4:10 da manhã e não consegui sair do lugar…hehehe