Swing/TabAreaBackground の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/TabAreaBackground へ行く。
- Swing/TabAreaBackground の差分を削除
--- category: swing folder: TabAreaBackground title: JTabbedPaneのタブエリア背景色などをテスト tags: [JTabbedPane, UIManager, MetalLookAndFeel] author: aterai pubdate: 2011-01-03T14:25:13+09:00 description: MetalLookAndFeelのJTabbedPaneで、タブエリアの背景色などを変更するテストをしています。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TSFbcaeJLEI/AAAAAAAAAw0/zQFscoerEGk/s800/TabAreaBackground.png --- * 概要 [#summary] `MetalLookAndFeel`の`JTabbedPane`で、タブエリアの背景色などを変更するテストをしています。 #download(https://lh4.googleusercontent.com/_9Z4BYR88imo/TSFbcaeJLEI/AAAAAAAAAw0/zQFscoerEGk/s800/TabAreaBackground.png) * サンプルコード [#sourcecode] #code(link){{ 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); }} * 解説 [#explanation] 上記のサンプルでは、`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の選択文字色を変更>Swing/ColorTab]] - [[JTabbedPaneのタブ文字列をハイライト>Swing/TabTitleHighlight]] - [https://bugs.openjdk.java.net/browse/JDK-8078269 JDK-8078269 JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works - Java Bug System] - [https://bugs.openjdk.org/browse/JDK-8078269 JDK-8078269 JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works - Java Bug System] * コメント [#comment] #comment #comment