Swing:JTabbedPane组件子类的自定义LaF

时间:2013-04-16 21:14:23

标签: java swing look-and-feel

我如何对JTabbedPane进行子类化,并为我的子类的每个实例提供与默认LaF不同的Look-and-Feel?我仍然想要访问默认的JTabbedPanel,所以简单地覆盖全局LaF不是一种选择。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以通过调用setUI(TabbedPaneUI ui)方法手动设置JTabbedPane(以及大多数其他JComponents)的特定UI实现。

例如,要设置特定的JTabbedPane以使用Metal Look and Feel,请使用:

JTabbedPane fooPane = new JTabbedPane();
fooPane.setUI(MetalTabbedPaneUI.createUI(fooPane));

在创建JTabbedPane的子类(就像你一样)时,你需要覆盖方法updateUI(),如下所示:

public void updateUI() {
    setUI(MetalTabbedPaneUI.createUI(this));
}