0

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

谢谢。

4

1 回答 1

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));
}
于 2013-04-16T21:43:24.780 回答