java - 如何将图像添加到 JTable 单元格?

标签 java image swing jtable imageicon

我有一个在 Netbeans 设计模式下创建的 JTable。在我的代码中,我选择在启动时放置以下代码行:

model = new TableModel();
tbShares.setAutoCreateColumnsFromModel(false);
tbShares.setModel(model);

tbShares 是我的 JTable 对象。

包含我的 JTable 的 JFrame 如下所示:

share manager

第一列设置为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/

相关文章:

c# - 确定用户CPU大小的java程序?

html - 将 base64 编码的图像用于 Web 是否安全,优点和缺点?

使用 JFileChooser 后 Java JSlider 不显示

Java GUI 矩形图形

java - ImageIcon 仅显示描述而不显示图像

Try 中的 Java 断言与多个 catch

java - 通过添加静态方法来更改可序列化类,java

java - Java中如何在不使用全局变量的情况下在两个类之间共享变量?

image - Flutter image_picker "' PickedFile '"can' t 分配给参数类型 'File'

headless (headless)模式下的Android屏幕截图很难看