简而言之,我有一个填充了十六进制数据的JTable。该表保留在屏幕上,同时进行一些后台处理。
后台处理检查一些8字节值,例如,如果成功处理前8个字节,我需要表中的前8个单元格将其背景颜色更改为绿色。这将继续下一个8,直到表的结尾。
但我无法弄清楚如何实现这一目标。
public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
@Override
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column) {
java.awt.Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
System.out.println("Cell render test");
cellComponent.setBackground(java.awt.Color.GREEN);
return cellComponent;
}
}
这是我发现的一些允许渲染单元格的代码,但它似乎只适用于整个列,使用:
.getColumnModel().getColumn(10).setCellRenderer(customRenderer);
我想这里有两个不同的问题:
如果有人可以提供任何建议或意见,我将非常感激。
答案 0 :(得分:3)
该方法的最后一个参数是row和column。要获得所需的结果,渲染器必须考虑这些值。