JAVA:将图像放入jTable Cell

RYN*_*RYN 3 java swing image jtable cell

我需要在一个jTable单元格中显示图像.
我写了这个:

class ImageRenderer extends DefaultTableCellRenderer {
    JLabel lbl = new JLabel();

    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int column) {
        lbl.setText((String) value);
        lbl.setIcon(new ImageIcon("/home/ariyan/Desktop/71290452.jpg"));
        return lbl;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后用它作为:

    jTable1.getColumn(0).setCellRenderer(new ImageRenderer());
Run Code Online (Sandbox Code Playgroud)

但这不起作用
我怎么能这样做?

谢谢

cam*_*ckr 6

JTable已经为图像提供了默认渲染器.您只需要告诉表格每列中包含哪种类型的数据,它将选择最佳渲染器:

a)覆盖JTable的getColumnClass()方法或TableModel以返回列中的数据类.在这种情况下,您应该返回一个Icon.class.

b)将ImageIcon添加到表模型中.

现在,JTable将使用该列的默认Icon渲染器.