を使用して JButton を tabComponent として設定した場合
tabbedPane.setTabComponent(new JButton("test"));
ボタンはタブの一部を覆っていますが、タブの背景はまだ見えています。しかし、私の要件は、ボタンがタブ全体をカバーする必要があるかのように、このボタンコンポーネントをタブに完全に設定することです。
を使用して JButton を tabComponent として設定した場合
tabbedPane.setTabComponent(new JButton("test"));
ボタンはタブの一部を覆っていますが、タブの背景はまだ見えています。しかし、私の要件は、ボタンがタブ全体をカバーする必要があるかのように、このボタンコンポーネントをタブに完全に設定することです。
この方法を試してみてください:
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");
必要なものを達成するために、それらのいくつかを変更することもできます...