如果我将 JButton 设置为 tabComponent 使用
tabbedPane.setTabComponent(new JButton("test"));
该按钮覆盖了选项卡的一部分,而我仍然可以看到选项卡的背景。但是我的要求是在选项卡上完全设置这个 Button 组件,就好像按钮应该覆盖整个选项卡一样,就好像没有对该选项卡的访问一样。
如果我将 JButton 设置为 tabComponent 使用
tabbedPane.setTabComponent(new JButton("test"));
该按钮覆盖了选项卡的一部分,而我仍然可以看到选项卡的背景。但是我的要求是在选项卡上完全设置这个 Button 组件,就好像按钮应该覆盖整个选项卡一样,就好像没有对该选项卡的访问一样。
您可以尝试使用此方法:
UIManager.put ( "TabbedPane.tabInsets", new Insets ( 0, 0, 0, 0 ) );
删除选项卡插图和这个:
UIManager.put ( "TabbedPane.selectedTabPadInsets", new Insets ( 0, 0, 0, 0 ) );
删除选定的选项卡附加插图。
还有一些其他选项通常取自 UI 默认值:
highlight = UIManager.getColor("TabbedPane.light");
lightHighlight = UIManager.getColor("TabbedPane.highlight");
shadow = UIManager.getColor("TabbedPane.shadow");
darkShadow = UIManager.getColor("TabbedPane.darkShadow");
focus = UIManager.getColor("TabbedPane.focus");
selectedColor = UIManager.getColor("TabbedPane.selected");
textIconGap = UIManager.getInt("TabbedPane.textIconGap");
tabInsets = UIManager.getInsets("TabbedPane.tabInsets");
selectedTabPadInsets = UIManager.getInsets("TabbedPane.selectedTabPadInsets");
tabAreaInsets = UIManager.getInsets("TabbedPane.tabAreaInsets");
tabsOverlapBorder = UIManager.getBoolean("TabbedPane.tabsOverlapBorder");
contentBorderInsets = UIManager.getInsets("TabbedPane.contentBorderInsets");
tabRunOverlay = UIManager.getInt("TabbedPane.tabRunOverlay");
tabsOpaque = UIManager.getBoolean("TabbedPane.tabsOpaque");
contentOpaque = UIManager.getBoolean("TabbedPane.contentOpaque");
opaque = UIManager.get("TabbedPane.opaque");
您可能还想修改其中的一些以实现您所需要的......