Java 不同列的网格颜色不同

Java 不同列的网格颜色不同,java,swing,colors,jtable,tablecellrenderer,Java,Swing,Colors,Jtable,Tablecellrenderer,如何为不同的列设置不同的网格颜色 我知道table.setGridColor(Color.GREEN)将网格颜色设置为特定颜色,但如何设置每条线的颜色 我希望我的表中的每个奇数柱网颜色为红色,每个偶数柱网颜色为绿色 就拿一个例子来说,我想要下面的 G____R____G____R____G |____|____|____|____| |____|____|____|____| |____|____|____|____| |____|____|____|____| 其中R表示线条应为红色,G表示

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

我知道
table.setGridColor(Color.GREEN)将网格颜色设置为特定颜色,但如何设置每条线的颜色

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

就拿一个例子来说,我想要下面的

G____R____G____R____G
|____|____|____|____|
|____|____|____|____|
|____|____|____|____|
|____|____|____|____|
其中R表示线条应为红色,G表示线条应为绿色

这只是为了好玩和圣诞精神

感谢所有人的帮助

我能想到的唯一可能的解决方案是创建一个自定义的
TableCellRenderer

并且在方法内
公共组件getTableCellRenderComponent(JTable表、对象值、布尔isSelected、布尔hasFocus、int行、int列)

正在做
setboorder(新的MatteBorder(0,0,0,1,Color.RED))
对于每个奇数列和
setboorder(新的MatteBorder(0,0,0,1,Color.GREEN))
对于每个偶数列。

查看一些示例,这些示例演示了如何覆盖
prepareRenderer(…)
以突出显示不同行的背景

这一概念与列级渲染类似。

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

这一概念与列级渲染类似。

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

这一概念与列级渲染类似。

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


这一概念与列级渲染类似。

覆盖
prepareRenderer()
,如图所示。@trashgood抱歉,我没有看到任何一个示例可以帮助我解决这个问题。大多数人只是建议使用JXTable,其他人则建议使用MatteBorder,我指定了MatteBorder,但我不太喜欢它,因为它不给列线本身着色,而是给单元格的边缘着色。与其用一个大网格,不如把它分割成更小的部分,然后再分别着色。@DavidCloer那么,如何将网格分割成更小的部分呢?这是我无法解决的问题。覆盖
prepareRenderer()
,如图所示。@trashgood对不起,我看不到任何一个例子可以帮助我解决这个问题。大多数人只是建议使用JXTable,其他人则建议使用MatteBorder,我指定了MatteBorder,但我不太喜欢它,因为它不给列线本身着色,而是给单元格的边缘着色。与其用一个大网格,不如把它分割成更小的部分,然后再分别着色。@DavidCloer那么,如何将网格分割成更小的部分呢?这是我无法解决的问题。覆盖
prepareRenderer()
,如图所示。@trashgood对不起,我看不到任何一个例子可以帮助我解决这个问题。大多数人只是建议使用JXTable,其他人则建议使用MatteBorder,我指定了MatteBorder,但我不太喜欢它,因为它不给列线本身着色,而是给单元格的边缘着色。与其用一个大网格,不如把它分割成更小的部分,然后再分别着色。@DavidCloer那么,如何将网格分割成更小的部分呢?这是我无法解决的问题。覆盖
prepareRenderer()
,如图所示。@trashgood对不起,我看不到任何一个例子可以帮助我解决这个问题。大多数人只是建议使用JXTable,其他人则建议使用MatteBorder,我指定了MatteBorder,但我不太喜欢它,因为它不给列线本身着色,而是给单元格的边缘着色。与其用一个大网格,不如把它分割成更小的部分,然后再分别着色。@DavidCloer那么,如何将网格分割成更小的部分呢?这是我无法解决的问题。