Java Swing自定义TableCellRenderer丢失其网格线

时间:2014-01-02 05:53:21

标签: java swing jtable tablecellrenderer

我正在玩一些风格并遇到了一些我似乎无法找到答案的东西。我创建了一个自定义TableCellRenderer并覆盖了getTableCellRenderComponent,基本上只是更改了背景颜色:

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean    isSelected, boolean hasFocus, int row, int col) {
    Component l = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
    l.setBackground(Color.LIGHT_GRAY);
    return l;
}

我的问题是,当我调用此更改说我的表头背景颜色时,它会删除表格网格线

table.getColumnModel().getColumn(k).setHeaderRenderer(newCustomTableCellRenderer());

不确定为什么会这样。如何解决?

1 个答案:

答案 0 :(得分:3)

正如@MadProgrammer所说,“边框是由外观特定的标题提供的。”您可以获取UI委托的渲染器的副本,如herehere所示,并根据需要进行装饰。使用常见默认值的相关示例为here