Java 通过覆盖DefaultTableCellRenderer向JTable添加图标

Java 通过覆盖DefaultTableCellRenderer向JTable添加图标,java,swing,jtable,Java,Swing,Jtable,我试图通过如下()指定自己的表单元格呈现程序,将图标添加到特定的JTable列中: 上述代码有效,但: 所有单元格都有图标,而不是 我想要在中指定的特定的一个 if语句 单元格MyTableModel.IMAGE\u列 应该只有一个图标也有 文本 提前感谢为了获得更好的性能,JTable为它呈现的每个单元格重复使用相同的标签。 这意味着每次更改时都需要设置文本和图标 字体、背景色等也是如此 if(icon == null){ label.setText(

我试图通过如下()指定自己的表单元格呈现程序,将图标添加到特定的JTable列中:

上述代码有效,但:

  • 所有单元格都有图标,而不是 我想要在中指定的特定的一个 if语句
  • 单元格MyTableModel.IMAGE\u列 应该只有一个图标也有 文本

  • 提前感谢

    为了获得更好的性能,JTable为它呈现的每个单元格重复使用相同的标签。 这意味着每次更改时都需要设置文本和图标

    字体、背景色等也是如此

     if(icon == null){
                        label.setText(status);
                        label.setIcon(null);
                }else{  
                        label.setText("");
                        label.setIcon(icon);
                }
    

    应该这样做,

    谢谢,我不知道所有表格单元格都会重复使用相同的标签。使用上面的代码,我仍然得到了相同的结果。我在将表格单元格渲染器强制转换为JLabel.yup之后,通过设置为空图标解决了这个问题。我的adivce没有帮助,因为我忘记了column==MyTableModel.IMAGE\u column测试
     if(icon == null){
                        label.setText(status);
                        label.setIcon(null);
                }else{  
                        label.setText("");
                        label.setIcon(icon);
                }