1

如果我将 JButton 设置为 tabComponent 使用

tabbedPane.setTabComponent(new JButton("test"));

该按钮覆盖了选项卡的一部分,而我仍然可以看到选项卡的背景。但是我的要求是在选项卡上完全设置这个 Button 组件,就好像按钮应该覆盖整个选项卡一样,就好像没有对该选项卡的访问一样。

4

1 回答 1

4

您可以尝试使用此方法:

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");

您可能还想修改其中的一些以实现您所需要的......

于 2012-08-01T15:09:03.313 回答