【发布时间】:2012-07-18 04:04:50
【问题描述】:
我正在我的一个项目中使用 JTabbedPane,并且我正在尝试更改应用程序的外观和感觉。当我设置窗口的外观和感觉(以及与此相关的任何其他外观和感觉)时,所有按钮、检查按钮等都会更改为它们应该的样子,但选项卡仍然看起来像默认的摆动选项卡。这是它的外观示例:
按钮和复选框看起来像 Windows 组件,但选项卡看起来像默认的摆动。如果有帮助,我将使用在单独的类文件中定义的 JTabbedPane 的子类。我的问题是如何让 JTabbedPane 中的选项卡看起来像 Windows 选项卡?
这段代码模拟了我的问题。选项卡显示为摇摆,但按钮显示为不同的 l&f:
import javax.swing.*;
import java.awt.*;
public class TabbedFrame
{
private static JFrame window;
private static JPanel pane;
private static JTabbedPane tabs = new JTabbedPane();
public static void main(String[] vars)
{
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
} catch (Exception ee){
ee.printStackTrace();
}
window = new JFrame("tabs");
pane = new JPanel();
window.setSize(200, 300);
window.setLocation(100, 100);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setContentPane(pane);
Panel[] panes;
panes = new Panel[2];
panes[0] = new Panel();
panes[1] = new Panel();
panes[0].add(new Label("PANEL 1..................."));
panes[1].add(new Label("PANEL 2 ....."));
tabs.addTab("tab 1", panes[0]);
tabs.addTab("tab 2", panes[1]);
tabs.setSize(480, 640);
pane.add(tabs);
pane.add(new JButton("test"));
pane.add(new JCheckBox());
pane.add(new JRadioButton());
tabs.setBounds(20, 20, 200, 200);
window.setVisible(true);
}
}
【问题讨论】:
-
是否还有其他明确设置选项卡的外观和感觉的东西? JTabbedPane 显示的是什么 UI 类?
-
在
TabComponentsDemo中工作。请编辑您的问题,在sscce 中包含您描述的问题。 -
感谢在@JeffStorey 中编辑图片的人——这是默认的摇摆外观
-
据我所知,没有其他东西可以设置 l&f。
-
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");主题?!?想要那种 1980 年代的“复古”感觉?糟糕!
标签: java swing look-and-feel jtabbedpane