Java 如何设置JTabbedPane选项卡高度宽度背景前景色(选中和未选中选项卡)

Java 如何设置JTabbedPane选项卡高度宽度背景前景色(选中和未选中选项卡),java,swing,jtabbedpane,Java,Swing,Jtabbedpane,如何设置JTabbedPane选项卡背景和前景、高度和宽度(选中和未选中选项卡)您可以将新值设置为UIDefaults: UIDefaults def = UIManager.getLookAndFeelDefaults(); def.put( "TabbedPane.foreground", Color.RED ); def.put( "TabbedPane.textIconGap", new Integer(16) ); def

如何设置
JTabbedPane
选项卡背景和前景、高度和宽度(选中和未选中选项卡)

您可以将新值设置为UIDefaults:

        UIDefaults def = UIManager.getLookAndFeelDefaults();
        def.put( "TabbedPane.foreground", Color.RED );
        def.put( "TabbedPane.textIconGap", new Integer(16) );
        def.put( "TabbedPane.background", Color.BLUE );
        def.put( "TabbedPane.tabInsets", new Insets(10,10,10,10) );
        def.put( "TabbedPane.selectedTabPadInsets", new Insets(10,20,10,20) );
这是一张钥匙清单

TabbedPane.textIconGap
TabbedPane.contentOpaque
TabbedPane.focus
TabbedPane.foreground
TabbedPane.tabRunOverlay
TabbedPane.shadow
TabbedPane.darkShadow
TabbedPane.background
TabbedPane.ancestorInputMap
TabbedPane.focusInputMap
TabbedPane.tabInsets
TabbedPane.light
TabbedPane.contentBorderInsets
TabbedPane.tabsOverlapBorder
TabbedPane.tabsOpaque
TabbedPane.tabAreaInsets
TabbedPane.highlight
TabbedPane.font
TabbedPane.selectedTabPadInsets
对于Nimbus LookAndFeel,还有其他类似的功能:


更改选项卡高度和宽度的一种方法是在选项卡的标签中使用HTML和/或CSS。为此,您可以在HTML“span”或“p”元素中使用CSS padding属性。

您可以按如下方式控制高度:

JTabbedPane tabs = new JTabbedPane();
tabs.setUI(new BasicTabbedPaneUI() {
    @Override
    protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight) {
        return 45; // manipulate this number however you please.
    }
});

如果每个选项卡都需要不同的高度,这个答案可能也很有用:

我知道,对于禁用的选项卡+1使用Html
JTabbedPane tabs = new JTabbedPane();
tabs.setUI(new BasicTabbedPaneUI() {
    @Override
    protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight) {
        return 45; // manipulate this number however you please.
    }
});