我如何对JTabbedPane进行子类化,并为我的子类的每个实例提供与默认LaF不同的Look-and-Feel?我仍然想要访问默认的JTabbedPanel,所以简单地覆盖全局LaF不是一种选择。
感谢。
答案 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));
}