动态添加图像到JTable单元格

我使用以下代码动态地向单元格添加数据:

for(int i = 0; i < matchedSlots.size(); i++) { String title = matchedSlots.get(i).getTitle(); String director = matchedSlots.get(i).getDirector(); int rating = matchedSlots.get(i).getRating(); int runTime = matchedSlots.get(i).getRunningTime(); DefaultTableModel tm = (DefaultTableModel) searchResults.getModel(); tm.addRow(new Object[] {title,director,rating,runTime}); } 

我需要添加到上面的内容才能在每行的第一个单元格中添加图像

默认情况下, JTable可以渲染图像。 您只需要覆盖TableModel中的getColumnClass()并返回第一列的Icon.class

有关详细信息,请查看渲染器和编辑器 。

 ImageIcon image = new ImageIcon("image.gif"); ... tm.addRow(new Object[] {image,title,director,rating,runTime}); 

如果您尚未更新表格模型,则可能需要将其更改为新列。

这篇简短的文章可以帮助您使用图像渲染器: http : //mdsaputra.wordpress.com/2011/06/13/swing-hack-show-image-in-jtable/