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

时间:2012-05-27 17:29:44

标签: java swing jtable

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

编辑:由于标题不是一个问题,我如何手动选择代码中的单元格?

2 个答案:

答案 0 :(得分:9)

  

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

table.changeSelection(row, column, false, false)for example

答案 1 :(得分:2)

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

单元格的背景颜色取决于与单元格关联的渲染器。但是您无法将渲染器与单元格关联。你能做的是

  • 创建一个JTable子类并覆盖getCellRenderer(int row, int column)以返回您自己的渲染器
  • 调用setDefaultRenderer(Class columnClass,TableCellRenderer渲染器)将渲染器与给定的数据类关联

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