Swing/DisabledTextColor のバックアップの現在との差分(No.17)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/DisabledTextColor へ行く。
- 1 (2008-10-06 (月) 14:59:33)
- 2 (2008-10-06 (月) 19:01:39)
- 3 (2013-01-17 (木) 15:22:57)
- 4 (2013-08-20 (火) 19:18:08)
- 5 (2013-09-12 (木) 01:13:05)
- 6 (2014-11-01 (土) 00:46:09)
- 7 (2014-11-25 (火) 03:03:31)
- 8 (2015-10-29 (木) 16:29:42)
- 9 (2017-04-21 (金) 13:23:02)
- 10 (2017-08-18 (金) 18:53:18)
- 11 (2017-11-02 (木) 15:34:40)
- 12 (2018-08-29 (水) 18:31:54)
- 13 (2020-08-23 (日) 17:14:06)
- 14 (2022-01-27 (木) 14:26:06)
- 15 (2022-08-20 (土) 22:15:25)
- 16 (2023-02-04 (土) 17:02:54)
- 17 (2023-02-06 (月) 00:00:50)
- 追加された行はこの色です。
- 削除された行はこの色です。
---
category: swing
folder: DisabledTextColor
title: JCheckBoxなどが無効な状態での文字色を変更
tags: [JCheckBox, JComboBox, UIManager, Html, JLabel, JButton]
author: aterai
pubdate: 2008-10-06T14:59:33+09:00
description: JCheckBoxやJComboBoxなどのコンポーネントが無効な状態になった場合の文字色を変更します。
image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTLDPDIq4I/AAAAAAAAAW8/jt2A5D74G04/s800/DisabledTextColor.png
---
* 概要 [#summary]
`JCheckBox`や`JComboBox`などのコンポーネントが無効な状態になった場合の文字色を変更します。
#download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTLDPDIq4I/AAAAAAAAAW8/jt2A5D74G04/s800/DisabledTextColor.png)
* サンプルコード [#sourcecode]
#code(link){{
UIManager.put("CheckBox.disabledText", Color.RED);
JCheckBox cbx1 = new JCheckBox("default", true);
JCheckBox cbx2 = new JCheckBox("<html>html <span style='color:red'>tag");
}}
* 解説 [#explanation]
- `JCheckBox`
-- `UIManager.put("CheckBox.disabledText", Color.RED)`
--- `MetalLookAndFeel`でのみ有効
- `JCheckBox` + `html`
-- `JDK 1.7.0`で以下の動作は修正されて、無効化で`HTML`文字列もグレーになる
--- [https://bugs.openjdk.org/browse/JDK-4783068 Bug ID: 4783068 Components with HTML text should gray out the text when disabled]
-- %%`<html>`タグを使った場合、文字色は常に不変で`isEnabled()`の状態に依存しない([https://bugs.openjdk.org/browse/JDK-4740519 Bug ID: 4740519 HTML JLabel not greyed out on setEnabled(false)])を利用%%
--- 参考: [https://community.oracle.com/thread/1359798 Swing - How to disable a JCheckBox and leave the text the original color?]のMichael_Dunn さんの投稿
--- [[Htmlを使ったJLabelとJEditorPaneの無効化>Swing/DisabledHtmlLabel]]
- `JComboBox`
-- `UIManager.put("ComboBox.disabledForeground", Color.GREEN);`
- `JComboBox` + `html`
-- レンダラーで文字色を変更
- `JComboBox`(`Editable`)
-- `EditorComponent`を取得して、`editor.setDisabledTextColor(Color.PINK);`を設定
- `JLabel`
-- `UIManager.put("Label.disabledForeground", Color.ORANGE);`
- `JButton`
-- `UIManager.put("Button.disabledText", Color.YELLOW)`
--- `MetalLookAndFeel`でのみ反映
#ref(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTLFT1HGFI/AAAAAAAAAXA/W5L-yIFc61E/s800/DisabledTextColor1.png)
* 参考リンク [#reference]
- [https://bugs.openjdk.org/browse/JDK-4740519 [JDK-4740519] HTML JLabel not greyed out on setEnabled(false) - Java Bug System]
- [https://community.oracle.com/thread/1359798 Swing - How to disable a JCheckBox and leave the text the original color?]
- [https://bugs.openjdk.org/browse/JDK-4783068 [JDK-4783068] Components with HTML text should gray out the text when disabled - Java Bug System]
- [[Htmlを使ったJLabelとJEditorPaneの無効化>Swing/DisabledHtmlLabel]]
- [https://bugs.openjdk.org/browse/JDK-7093691 [JDK-7093691] Nimbus LAF: disabled JComboBox using renderer has bad font color - Java Bug System]
- [[JButtonが無効な状態でのhtmlテキスト色を変更する>Swing/ButtonDisabledHtmlText]]
* コメント [#comment]
#comment
#comment