我想要一个类似于例如Firefox,其中可用选项卡列表仅在至少存在两个选项卡时才会显示。
我还没有找到类似的东西。
我最好的想法是手动更改布局:
- 如果只有一个组件,只需将其添加到周围的面板
- 如果添加了一个组件,请从周围的面板中删除该组件,添加一个 JTabbedPane 并将之前的和新的组件都添加到该面板。
- 如果一个组件被移除并且 Pane 中只剩下一个组件,则移除该 Pane 并添加包含的组件。
虽然这可能会奏效,但感觉就像是一种 hack 或解决方法......
有更好的主意吗?
理想情况下,一个解决方案应该在 Java 1.5 和 1.6 中工作...但我也很高兴只有 1.6 的解决方案。
最佳答案
您可以覆盖计算选项卡按钮区域高度的 UI 方法,当只有一个选项卡时强制高度为 0
:
tabbed_pane.setUI(new BasicTabbedPaneUI() {
@Override
protected int calculateTabAreaHeight(int tab_placement, int run_count, int max_tab_height) {
if (tabbed_pane.getTabCount() > 1)
return super.calculateTabAreaHeight(tab_placement, run_count, max_tab_height);
else
return 0;
}
});
关于java - 如果只有一个选项卡存在,有没有办法隐藏 JTabbedPane 的选项卡栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942500/