Java 无需单击即可更改JTable单元格颜色

Java 无需单击即可更改JTable单元格颜色,java,swing,jtable,tablecellrenderer,Java,Swing,Jtable,Tablecellrenderer,简而言之,我有一个用十六进制数据填充的JTable。在进行一些后台处理时,该表仍在屏幕上 背景处理检查一些8字节的值,例如,如果前8个字节处理成功,我需要表格中的前8个单元格将其背景颜色更改为绿色。接下来的8个月都是这样,直到桌子的尽头 但我不知道如何才能做到这一点 public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer { @Override public java.awt.

简而言之,我有一个用十六进制数据填充的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行、第0-7列
  • 如何在用户不与表交互的情况下应用此功能。我能找到的许多自定义渲染内容都是针对用户选择单元格时使用的,但在本例中,没有手动选择单元格。我猜这可能会引发某种事件

  • 如果有人能提供任何建议或意见,我将不胜感激。

    该方法的最后一个参数是row和column。要获得所需的结果,渲染器必须考虑这些值。

    方法的最后一个参数是row和column。要获得所需的结果,渲染器必须考虑这些值。

    方法的最后一个参数是row和column。要获得所需的结果,渲染器必须考虑这些值。

    方法的最后一个参数是row和column。要获得所需的结果,渲染器必须考虑这些值。

    要更快地获得更好的帮助,请发布(最小完整可验证示例)或(简短、自包含、正确示例)。要更快地获得更好的帮助,请发布(最小完整可验证示例)或(简短、自包含、正确示例)。要更快地获得更好的帮助,请发布(最小完整可验证示例)或(简短、自包含、正确示例)。要更快获得更好的帮助,请发布(最小完整可验证示例)或(简短、自包含、正确示例)。