0

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

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

4

2 回答 2

9

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

table.changeSelection(row, column, false, false)例如

于 2012-05-27T17:36:46.937 回答
2

因此,您的问题是“如何更改给定行和索引处单元格的背景颜色?”。

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

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

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

于 2012-05-27T17:41:12.557 回答