下面的示例演示如何更改JTabbedPane组件中选项卡的颜色。该JTabbedPane的方法,您可以使用更改前景色和背景色分别是:
setForeground(Color color) 用于更改所有标签的前景色。
setBackground(Color color) 用于更改所有标签的背景色。
setForegroundAt(int index, Color color) 用于在定义的索引处更改选项卡的前景色。
setBackgroundAt(int index, Color color) 用于在定义的索引处更改选项卡的背景色。
package org.nhooo.example.swing; import javax.swing.*; import java.awt.*; public class TabbedPaneTabColor extends JPanel { public TabbedPaneTabColor() { initializeUI(); } private void initializeUI() { this.setLayout(new BorderLayout()); this.setPreferredSize(new Dimension(500, 200)); JTabbedPane pane = new JTabbedPane(); pane.addTab("A Tab", new JPanel()); pane.addTab("B Tab", new JPanel()); pane.addTab("C Tab", new JPanel()); pane.addTab("D Tab", new JPanel()); // 将所有标签的前景色设置为黑色。 pane.setForeground(Color.BLACK); // 为中的所有标签设置不同的背景色 //JTabbedPane。从头到尾的颜色 // 标签将是红色,绿色,黄色和橙色。 pane.setBackgroundAt(0, Color.RED); pane.setBackgroundAt(1, Color.GREEN); pane.setBackgroundAt(2, Color.YELLOW); pane.setBackgroundAt(3, Color.ORANGE); this.add(pane, BorderLayout.CENTER); } public static void showFrame() { JPanel panel = new TabbedPaneTabColor(); panel.setOpaque(true); JFrame frame = new JFrame("JTabbedPane Demo"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setContentPane(panel); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { TabbedPaneTabColor.showFrame(); } }); } }
下图显示了上面代码片段的结果: