JTabbedPaneのタブエリア背景色などをテスト
Total: 6325
, Today: 1
, Yesterday: 2
Posted by aterai at
Last-modified:
概要
MetalLookAndFeel
のJTabbedPane
で、タブエリアの背景色などを変更するテストをしています。
サンプルコード
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 all解説
上記のサンプルでは、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
が定義されているため、こちらで色変更が可能になっている
参考リンク
- JTabbedPaneの選択文字色を変更
- JTabbedPaneのタブ文字列をハイライト
- JDK-8078269 JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works - Java Bug System