0

我尝试使用 setValueAt 添加图像,但问题是它打印字符串并且不加载图像。对此有任何帮助。代码如下

int selectedColumn = table1.getSelectedColumn();
int selectedRow = table1.getSelectedRow();
ImageIcon addIcon = new ImageIcon("c:\\onion.png");
table1.getModel().setValueAt(addIcon, selectedRow, electedColumn);
4

2 回答 2

4

您需要创建一个Icon.class为其getColumnClass方法返回的表模型。

于 2012-09-10T06:17:08.470 回答
2

确保您的表知道给定列中存储了哪些数据,以便它可以选择适当的渲染器。因此,您的 JTable 创建代码应该是这样的:

DefaultTableModel tableModel = new DefaultTableModel(dataObject, columnNames);
JTable table = new JTable(tableModel){
    public Class getColumnClass(int column){
        return getValueAt(0, column).getClass();
    }
};
于 2012-09-10T06:20:51.773 回答