不同列的不同网格颜色

时间:2014-12-17 16:19:46

标签: java swing colors jtable tablecellrenderer

我如何为不同的列设置不同的网格颜色?

我知道table.setGridColor(Color.GREEN);将网格颜色设置为特定颜色,但是为每一行设置颜色呢?

我希望我的表格中每个奇数列网格颜色为红色,每个偶数列网格颜色为绿色。

请举例说明我想要以下内容

G____R____G____R____G
|____|____|____|____|
|____|____|____|____|
|____|____|____|____|
|____|____|____|____|

其中R表示该线应为红色,G表示该线应为绿色。

这只是为了娱乐和圣诞精神。

感谢任何人的帮助。

我能想到的唯一可行解决方案是创建一个自定义的 TableCellRenderer
并在方法中 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)

setBorder(new MatteBorder(0, 0, 0, 1, Color.RED));
对于每个奇数列和
setBorder(new MatteBorder(0, 0, 0, 1, Color.GREEN));
每个偶数列。

1 个答案:

答案 0 :(得分:3)

查看Table Row Renderering示例,了解如何覆盖prepareRenderer(...)以突出显示不同行的背景。

列级渲染的概念类似。