开发者

How to set JTabbedPane Tab height width background foreground color (Both selected and Unselected Tab)

How to set the JTabbedPane Tab background and Foregrou开发者_StackOverflow社区nd, Height and Width (Both selected and Unselected Tab)


You can set new values to the 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) );

here are a list of Keys

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

For Nimbus LookAndFeel there are some other Nimbus Defaults like:

      TabbedPane:TabbedPaneTabArea.contentMargins
      TabbedPane:TabbedPaneTabArea[Enabled].backgroundPainter
      TabbedPane:TabbedPaneTab[Selected].backgroundPainter
      TabbedPane:TabbedPaneTabArea[Enabled].backgroundPainter
      TabbedPane:TabbedPaneTab.contentMargins
      TabbedPane.tabOverlap


One way to change height and width of tabs is to use HTML and/or CSS in label of tab. You can use CSS padding attribute in HTML 'span' or 'p' element for this purpose.


You can control the height as follows:

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.
    }
});

If each tab needs to be a different height, this answer might also be useful: How to handle the height of the tab title in JTabbedPane

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜