我有一个在 Netbeans 设计模式下创建的 JTable。在我的代码中,我选择在启动时放置以下代码行:
model = new TableModel();
tbShares.setAutoCreateColumnsFromModel(false);
tbShares.setModel(model);
tbShares
是我的 JTable 对象。
包含我的 JTable 的 JFrame 如下所示:
第一列设置为Object
类型(另外两列是Strings),因此它可以显示图像。我输入了这段代码来加载图像,但它不起作用(list.add
部分,其余部分是为了让您了解我的代码的结构)。这是 AbstractTableModel
的扩展。
public void addRegister(String status, String name, String clients){
ImageIcon activeStatus = new ImageIcon(CleanSheets.class.getResource("res/img/active.png"));
ImageIcon inactiveStatus = new ImageIcon(CleanSheets.class.getResource("res/img/inactive.png"));
list.add(new Register((status.equals("true") ? activeStatus : inactiveStatus), name, clients));
this.fireTableDataChanged();
}
class Register{
Object status;
String name;
String clients;
public Register(Object status, String name, String clients) {
this.status = status;
this.name = name;
this.clients = clients;
}
}
据说,它从我指定的文件夹中获取图像,但随后它只是在该列中输出文本而不是实际图像。我如何让它显示正确的图像?谢谢。
最佳答案
您应该重新实现TableCellRenderer
尝试读取this短文
关于java - 如何将图像添加到 JTable 单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931041/