JAVA:将图像放入 jTable 单元格

标签 java image swing 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;
    }
}

然后像这样使用它:

    jTable1.getColumn(0).setCellRenderer(new ImageRenderer());

但这没有用
我该怎么做?

谢谢

最佳答案

JTable 已经为图像提供了一个默认渲染器。你只需要告诉表格每一列包含什么类型的数据,它就会选择最好的渲染器:

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

b) 添加一个 ImageIcon 到表格模型。

现在 JTable 将为该列使用默认的图标渲染器。

关于JAVA:将图像放入 jTable 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3222951/

相关文章:

java - java中的简单计算器

java - 春网: How to tell if DispatcherServlet failed to load?

c# - 在 C# 中缩放图像的好方法是什么?

python - 如何在python docx模板(docxtpl)中显示图像? python

c - 读取图像时使用getc?

java - ActiveMQ持久化: some troubles with AMQ Message Store

java - spring + aspectj,定义一个切面@Around

java - 如何使用 Swing 通过 Java 桌面应用程序上的图标运行 JAR 文件?

java - JTable只显示1行

java swing重绘按钮