JTabbedPaneのタブエリア背景色などをテスト
Total: 8769, Today: 1, Yesterday: 0
Posted by aterai at
Last-modified:
Summary
MetalLookAndFeelのJTabbedPaneで、タブエリアの背景色などを変更するテストをしています。
Screenshot

Advertisement
Source Code Examples
UIManager.put("TabbedPane.shadow", Color.GRAY);
UIManager.put("TabbedPane.darkShadow", Color.GRAY);
UIManager.put("TabbedPane.light", Color.GRAY);
UIManager.put("TabbedPane.highlight", Color.GRAY);
UIManager.put("TabbedPane.tabAreaBackground", Color.GRAY);
UIManager.put("TabbedPane.unselectedBackground", Color.GRAY);
UIManager.put("TabbedPane.background", Color.GRAY);
UIManager.put("TabbedPane.foreground", Color.WHITE);
UIManager.put("TabbedPane.focus", Color.WHITE);
UIManager.put("TabbedPane.contentAreaColor", Color.WHITE);
UIManager.put("TabbedPane.selected", Color.WHITE);
UIManager.put("TabbedPane.selectHighlight", Color.WHITE);
// UIManager.put("TabbedPane.borderHighlightColor", Color.WHITE);
// Maybe typo but defined in MetalTabbedPaneUI
UIManager.put("TabbedPane.borderHightlightColor", Color.WHITE);
View in GitHub: Java, KotlinDescription
上記のサンプルでは、UIManager.put("TabbedPane.unselectedBackground", Color.GREEN);などを利用してMetalLookAndFeelでのタブエリアの背景色などを変更可能です。
BasicLookAndFeel、MetalLookAndFeelでのみ有効JPanelタブ内に配置されているJCheckBoxでJTabbedPaneを不透明に設定可能JPanelタブ内に配置されているJComboBoxでTabbedPane.tabAreaBackgroundなどのキーを指定し、その色の変更が可能- タブ文字色は
JTabbedPane#setForegroundAt(...)メソッドを使用して切り替え可能 TabbedPane.borderHightlightColorはおそらくTabbedPane.borderHighlightColorの書き間違い- 現状(
Java 11で確認)のMetalTabbedPaneUIではTabbedPane.borderHightlightColorが定義されているため、こちらで色変更する必要がある
- 現状(
Reference
- JTabbedPaneの選択文字色を変更
- JTabbedPaneのタブ文字列をハイライト
- JDK-8078269 JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works - Java Bug System