Java 如何更改给定行和索引处单元格的背景色?

Java 如何更改给定行和索引处单元格的背景色?,java,swing,jtable,Java,Swing,Jtable,我不敢相信我在谷歌搜索时找不到。我编程的每个JTable都会自动填充DB中的数据,任何编辑都是通过监听器完成的,但现在为了测试目的,我只有一个简单的3x3表,我不知道如何手动选择代码中的单元格(为了更改bg颜色以进行测试),比如table.cellAt(1,1).setBGcolor 编辑:由于标题不是作为问题形成的,如何在代码中手动选择单元格 如何在代码中手动选择单元格 table.changeSelection(行、列、假、假),所以您的问题是“如何更改给定行和索引处单元格的背景色?” 单元

我不敢相信我在谷歌搜索时找不到。我编程的每个JTable都会自动填充DB中的数据,任何编辑都是通过监听器完成的,但现在为了测试目的,我只有一个简单的3x3表,我不知道如何手动选择代码中的单元格(为了更改bg颜色以进行测试),比如table.cellAt(1,1).setBGcolor

编辑:由于标题不是作为问题形成的,如何在代码中手动选择单元格

如何在代码中手动选择单元格


table.changeSelection(行、列、假、假)

所以您的问题是“如何更改给定行和索引处单元格的背景色?”

单元的背景色取决于与单元关联的渲染器。但不能将渲染器与单元格关联。你能做的就是

  • 创建一个JTable子类并重写
    getCellRenderer(int行,int列)
    以返回您自己的渲染器
  • 调用setDefaultRenderer(类columnClass,TableCellRenderer renderer renderer)将渲染器与给定的数据类相关联

因此,如果要更改给定单元格的背景色,必须将表配置为使用自定义渲染器,并且必须将此自定义渲染器配置为使用您的背景色,而不是此给定单元格的默认背景色(或者更改此特定单元格中数据的值,以便您的自定义渲染器知道它必须使用背景色)。

谢谢。虽然我以前没有使用渲染器,但这应该足够了。计时器一用完,我就接受答案。。。