3

JTabbedPaneタブの背景と前景、高さ、幅を設定する方法(選択されたタブと選択されていないタブの両方)

4

3 に答える 3

6

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 には、次のような他のNimbus Defaultsがいくつかあります。

      TabbedPane:TabbedPaneTabArea.contentMargins
      TabbedPane:TabbedPaneTabArea[Enabled].backgroundPainter
      TabbedPane:TabbedPaneTab[Selected].backgroundPainter
      TabbedPane:TabbedPaneTabArea[Enabled].backgroundPainter
      TabbedPane:TabbedPaneTab.contentMargins
      TabbedPane.tabOverlap
于 2011-08-09T10:13:35.790 に答える
2

次のように高さを制御できます。

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

各タブの高さを変える必要がある場合は、次の回答も役立ちます: JTabbedPane でタブ タイトルの高さを処理する方法

于 2016-08-04T16:34:45.420 に答える
2

タブの高さと幅を変更する 1 つの方法は、タブのラベルで HTML や CSS を使用することです。この目的のために、HTML の「span」または「p」要素で CSS パディング属性を使用できます。

于 2011-10-19T11:44:54.157 に答える