【问题标题】:Different grid color for different columns不同列的不同网格颜色
【发布时间】:2015-02-16 06:22:04
【问题描述】:

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

我知道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));
对于每个偶数列。

【问题讨论】:

  • 覆盖prepareRenderer(),如这些examples所示。
  • @trashgod 对不起,我没有看到一个可以帮助我的案例的例子。他们中的大多数人只是建议使用 JXTable,而其他人则使用 MatteBorder,我指定了但我不太喜欢,因为它不会为列线本身着色,而是为单元格的边缘着色。
  • 不是一个大网格,而是将其分成更小的部分,然后您可以单独着色。
  • @DavidColer 以及如何将网格分成更小的部分?这是我无法解决的问题。

标签: java swing colors jtable tablecellrenderer


【解决方案1】:

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

列级渲染的概念与此类似。

【讨论】:

    猜你喜欢
    • 2021-08-29
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2021-05-26
    相关资源
    最近更新 更多