设置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