gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:29:01 28 4
gpt4 key购买 nike

简而言之,我有一个填充了十六进制数据的 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);

我想这里有两个不同的问题:

  1. 如何指定要应用自定义渲染的精确单元格范围,即第 0 行、第 0-7 列?
  2. 如何在用户不与表格交互的情况下应用此功能。我可以找到的很多自定义渲染内容都是在用户选择单元格时使用的,但在这种情况下,没有手动选择单元格。我猜测这可能是触发某种事件的情况。

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

最佳答案

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

关于java - 无需单击即可更改 JTable 单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188705/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com