问题描述
我正在尝试为jtable的标题着色,但我不知道我的错是什么,我感谢您的帮助
我保留了部分代码:
// style jtable
jTable_registry.getTableHeader().setFont(new Font("Segoe UI",Font.BOLD,12));
jTable_registry.getTableHeader().setopaque(false);
jTable_registry.getTableHeader().setBackground(new Color(32,136,203));
jTable_registry.getTableHeader().setForeground(new Color(255,255,255));
jTable_registry.setRowHeight(25);
我正在测试以尝试获得想要的东西,并且以这种简单的方式,我无法更改标题的背景颜色,它仍然是默认颜色...
预先感谢
解决方法
代码可以正常工作,并且可以更改表标题的背景颜色,这是我发现的Nimbus视觉主题的问题,该主题使用Painter
来渲染标题并使标题在效果中引人注目,为此,它将以某种方式忽略该指令:setBackground
,对于Metal,GTK或操作系统随附的指令不会发生这种情况。
private void Theme() {
try {
if(UIManager.getLookAndFeel().toString().contains("Nimbus"))
UIManager.put("nimbusBlueGrey",new Color(32,136,203));
} catch(Exception e) {
e.printStackTrace();
}
}
上文通过以下方式修改了此外观中的预先建立的值:put
使用一种键-值对形式。