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