在Nimbus L&F TabbedPane设置为SCROLL时,我没有看到标签和内容之间的蓝色水平分隔线(其他L&Fs(默认和 Windows)提供了这些)。如下图所示,问题仅限于
可以通过覆盖
new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT)
(图片顶部),而WRAP默认情况下不会显示此行为(图片底部)。可以通过覆盖
NimbusDefaults.class
的某些部分来更改这样的东西。以下是摘录://Initialize TabbedPane
d.put("TabbedPane.contentMargins", new InsetsUIResource(0, 0, 0, 0));
d.put("TabbedPane.tabAreaStatesMatchSelectedTab", Boolean.TRUE);
d.put("TabbedPane.nudgeSelectedLabel", Boolean.FALSE);
d.put("TabbedPane.tabRunOverlay", new Integer(2));
d.put("TabbedPane.tabOverlap", new Integer(-1));
d.put("TabbedPane.extendTabsToBase", Boolean.TRUE);
d.put("TabbedPane.useBasicArrows", Boolean.TRUE);
addColor(d, "TabbedPane.shadow", "nimbusDisabledText", 0.0f, 0.0f, 0.0f, 0);
addColor(d, "TabbedPane.darkShadow", "text", 0.0f, 0.0f, 0.0f, 0);
... more ...
我似乎无法弄清楚Nimbus在哪里以及如何区分WRAP和SCROLL。请问有人可以告诉我,我需要使用什么神奇的方法来.put()
到那里呢?
先提前感谢!