如何子类化 JTabbedPane 并为子类的每个实例提供与默认 LaF 不同的外观?我仍然想访问默认的 JTabbedPanel,所以简单地覆盖全局 LaF 不是一种选择。
谢谢。
如何子类化 JTabbedPane 并为子类的每个实例提供与默认 LaF 不同的外观?我仍然想访问默认的 JTabbedPanel,所以简单地覆盖全局 LaF 不是一种选择。
谢谢。
您可以通过调用 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));
}