JTable无法设置标题背景颜色

时间:2018-08-12 04:58:15

标签: java swing background header jtable

创建了一个表来显示报告,其他所有内容都在工作,但是我无法设置标题背景色。我尝试过更改setOpaque()和另一件事,我想避免使用自定义渲染器解决问题。

我创建表的代码如下。

private void showTable() {
    if (alUserRecord != null) {
        String heading[] = {"Username", "Groupname", "Groupstatus"};
        String data[][] = new String[alUserRecord.size()][heading.length];
        for (int i = 0; i < alUserRecord.size(); i++) {
            GroupManageBean objbean = alUserRecord.get(i);
            data[i][0] = objbean.getUsername();
            data[i][1] = objbean.getGroupname();
            if (objbean.isGroupstatus()) {
                data[i][2] = "Active";
            } else {
                data[i][2] = "Inactive";
            }
        }
        tblUserReport = new JTable(data, heading);
        jScrollPane1.setViewportView(tblUserReport);
        tblUserReport.setFillsViewportHeight(true);
        tblUserReport.setBackground(new Color(161,158,152));
        tblUserReport.setBorder(new LineBorder(new Color(0,102,102), 2, true));
        tblUserReport.getTableHeader().setBackground(new Color(0,102,102));
        tblUserReport.getTableHeader().setForeground(Color.WHITE);
    }
}

在上面的代码alUserRecord中是一个ArrayList,它从另一个从MySQL数据库中获取数据的方法获取其值。顺便说一下,除tblUserReport.getTableHeader().setBackground.....之外,此代码中的每一行都有效。

有人可以帮我吗?

0 个答案:

没有答案