设置JTabbedPane的背景色

我正在使用Nimbus外观。我需要在JTabbedPane中更改选项卡的背景色和前景色,但在JTabbedPane中未设置颜色。我尝试了setForeground(),setForegroundAt(),setBackground()和setBackgroundAt()方法,但没有用。这是我的代码

public class TabbedPaneDemo extends JFrame

{

TabbedPaneDemo()

{

try

{

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

}

catch(Exception ex) {}

setLayout(new BorderLayout());

setBounds(100, 100, 800, 500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JTabbedPane jt = new JTabbedPane();

jt.addTab("Tab1", new JPanel());

jt.addTab("Tab2", new JPanel());

jt.addTab("Tab3", new JPanel());

jt.addTab("Tab4", new JPanel());

for( int i = 0; i < jt.getComponentCount(); i++)

{

jt.setForegroundAt(i, Color.RED);

jt.setBackgroundAt(i, Color.BLACK);

}

add(jt);

setVisible(true);

}

public static void main(String args[])

{

new TabbedPaneDemo();

}

}

回答:

您可以执行几项不同的操作,具体取决于您希望对确切颜色进行多少控制。最简单的方法是更改​​UIManager中的某些属性,以更改Nimbus派生其其他颜色的颜色。我对您的代码进行了一些尝试,发现如果将以下代码放在对UIManager.setLookAndFeel()的调用之后,它将近似您在示例中尝试的红黑外观:

     UIManager.put("nimbusBase", new ColorUIResource(0, 0, 0));

UIManager.put("textForeground", new ColorUIResource(255, 0, 0));

我将它留给您进行实验。有关更多信息,请尝试在此处配置Nimbus 。确保您查看他的标题为“ Nimbus

UIDefaults属性列表”的链接。除了将颜色按摩成与所需颜色相似的东西外,您还必须开始做一些杂乱的事情,例如实现可自定义绘画的Painter类。

以上是 设置JTabbedPane的背景色 的全部内容, 来源链接: utcz.com/qa/401572.html

回到顶部