创建了一个表来显示报告,其他所有内容都在工作,但是我无法设置标题背景色。我尝试过更改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.....
之外,此代码中的每一行都有效。
有人可以帮我吗?