Swing/DisabledHtmlLabel のバックアップ(No.7)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/DisabledHtmlLabel へ行く。
- 1 (2007-12-24 (月) 23:18:44)
- 2 (2007-12-25 (火) 02:22:21)
- 3 (2008-01-10 (木) 10:39:43)
- 4 (2008-01-25 (金) 18:10:34)
- 5 (2008-02-07 (木) 19:06:10)
- 6 (2008-04-21 (月) 13:41:14)
- 7 (2009-11-03 (火) 00:03:19)
- 8 (2010-03-19 (金) 23:00:58)
- 9 (2012-06-28 (木) 02:06:17)
- 10 (2013-01-27 (日) 19:54:34)
- 11 (2013-08-24 (土) 22:43:25)
- 12 (2014-11-01 (土) 00:46:09)
- 13 (2014-11-25 (火) 03:03:31)
- 14 (2015-03-13 (金) 13:11:09)
- 15 (2016-05-26 (木) 14:31:35)
- 16 (2017-08-23 (水) 18:34:13)
- 17 (2017-12-07 (木) 11:42:38)
- 18 (2019-09-13 (金) 15:21:27)
- 19 (2021-05-05 (水) 05:10:48)
- 20 (2022-08-20 (土) 22:15:25)
TITLE:Htmlを使ったJLabelとJEditorPaneの無効化
Posted by terai at 2007-12-24
Htmlを使ったJLabelとJEditorPaneの無効化
Htmlを使ったJLabelと、JEditorPaneをsetEnabled(false)で無効にします。
- &jnlp;
- &jar;
- &zip;
#screenshot
サンプルコード
final JLabel label2 = new JLabel(HTML_TEXT) {
public void setEnabled(boolean b) {
super.setEnabled(b);
setForeground(b ? (Color) UIManager.get("Label.foreground")
: (Color) UIManager.get("Label.disabledForeground"));
}
};
final JEditorPane editor1 = new JEditorPane("text/html", HTML_TEXT);
editor1.setOpaque(false);
editor1.setEditable(false);
解説
- 上段左
- 通常のJLabelです。無効化すると文字がへこみます。
- 上段中
- Htmlタグを使ったJLabelです。無効化しても文字色は変化しません。
- 上段右
- Htmlタグを使ったJLabelです。無効化するとき、setForegroundで文字色を変更していまが、<font color='red'>とした文字の色までは変化しません。
- 下段左
- Htmlタグを使ったJLabelです。無効化するとき、setForegroundで文字色を変更し、さらに文字色をグレースケール化しています。このサンプルでは、無効化している時にラベルのテキストやサイズを変更しても、表示は更新されません。
- 下段中
- Htmlタグを使ったJEditorPaneです。無効化すると、すべての文字色が変化します。
- 下段右
- Htmlタグを使ったJEditorPaneです。無効化すると、すべての文字色が変化します。以下のようにして、JLabelと同じフォントを使用するように設定しています。
editor2.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); editor2.setFont((Font)UIManager.get("Label.font"));
- Htmlタグを使ったJEditorPaneです。無効化すると、すべての文字色が変化します。以下のようにして、JLabelと同じフォントを使用するように設定しています。
Htmlレンダリングを無効化して、タグを文字列として表示する場合は、JLabelなどのHtmlレンダリングを無効化を参考にしてください。
参考リンク
- Bug ID: 4740519 HTML JLabel not greyed out on setEnabled(false)
- Swing - JLabel with html tag can not be disabled or setForegroud?!
- Hyperlinkを、JLabel、JButton、JEditorPaneで表示