Java颜色表头

问题描述

我正在尝试为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使用一种键-值对形式。