Swing/DisabledHtmlLabel のバックアップの現在との差分(No.11)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - 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の無効化 #navi(../) #tags(Html, JLabel, JEditorPane, UIManager) RIGHT:Posted by &author(aterai); at 2007-12-24 *Htmlを使ったJLabelとJEditorPaneの無効化 [#g7a086cf] ``Html``を使った``JLabel``と、``JEditorPane``を``setEnabled(false)``で無効にします。 --- category: swing folder: DisabledHtmlLabel title: Htmlを使ったJLabelとJEditorPaneの無効化 tags: [Html, JLabel, JEditorPane, UIManager, Fixed] author: aterai pubdate: 2007-12-24T23:18:44+09:00 description: Htmlを使ったJLabelと、JEditorPaneをsetEnabled(false)で無効にします。 image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTK9vV2SGI/AAAAAAAAAW0/PIlAG2B9yZA/s800/DisabledHtmlLabel.png --- * 概要 [#summary] `Html`を使った`JLabel`と、`JEditorPane`を`setEnabled(false)`で無効にします。 -&jnlp; -&jar; -&zip; #download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTK9vV2SGI/AAAAAAAAAW0/PIlAG2B9yZA/s800/DisabledHtmlLabel.png) //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTK9vV2SGI/AAAAAAAAAW0/PIlAG2B9yZA/s800/DisabledHtmlLabel.png) **サンプルコード [#m4ad0b68] * サンプルコード [#sourcecode] #code(link){{ final JLabel label2 = new JLabel(HTML_TEXT) { JLabel label2 = new JLabel(HTML_TEXT) { @Override public void setEnabled(boolean b) { super.setEnabled(b); setForeground(b ? UIManager.getColor("Label.foreground") : UIManager.getColor("Label.disabledForeground")); } }; final JEditorPane editor1 = new JEditorPane("text/html", HTML_TEXT); JEditorPane editor1 = new JEditorPane("text/html", HTML_TEXT); editor1.setOpaque(false); editor1.setEditable(false); }} **解説 [#r2f0a6d6] * 解説 [#explanation] - [https://bugs.openjdk.org/browse/JDK-4783068 JDK-4783068 Components with HTML text should gray out the text when disabled - Java Bug System] -- `JDK 1.7.0-ea-b55`で以下の描画は修正された -- このサンプルを実行するとスクリーンショットとは異なり無効化ですべての文字列がグレーになる ---- - 上段左 -- 通常の``JLabel``です。無効化すると文字がへこみます。 -- 通常の`JLabel` -- 無効化すると文字がへこむ - 上段中 -- ``Html``タグを使った``JLabel``です。無効化しても文字色は変化しません。 -- `Html`タグを使った`JLabel` -- 無効化しても文字色は変化しない - 上段右 -- ``Html``タグを使った``JLabel``です。無効化するとき、``setForeground``で文字色を変更していまが、``<font color='red'>``とした文字の色までは変化しません。 -- `Html`タグを使った`JLabel` -- 無効化するとき`setForeground`で文字色を変更しているが、`<font color='red'>`とした文字の色までは変化しない - 下段左 -- ``Html``タグを使った``JLabel``です。無効化するとき、``setForeground``で文字色を変更し、さらに文字色をグレースケール化しています。このサンプルでは、無効化している時にラベルのテキストやサイズを変更しても、表示は更新されません。 -- `Html`タグを使った`JLabel` -- 無効化するとき`setForeground`で文字色を変更し、さらに文字色をグレースケール化 -- このサンプルでは無効化している時にラベルのテキストやサイズを変更しても表示は更新されない - 下段中 -- ``Html``タグを使った``JEditorPane``です。無効化すると、すべての文字色が変化します。 -- `Html`タグを使った`JEditorPane` -- 無効化するとすべての文字色が変化 - 下段右 -- ``Html``タグを使った``JEditorPane``です。無効化すると、すべての文字色が変化します。以下のようにして、``JLabel``と同じフォントを使用するように設定しています。 -- `Html`タグを使った`JEditorPane` -- 無効化するとすべての文字色が変化 -- 以下のようにして`JLabel`と同じフォントを使用するように設定 #code{{ editor2.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); editor2.setFont(UIManager.getFont("Label.font")); }} ---- ``Html``レンダリングを無効化して、タグを文字列として表示する場合は、[[JLabelなどのHtmlレンダリングを無効化>Swing/HtmlDisable]]を参考にしてください。 ---- - [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4783068 Bug ID: 4783068 Components with HTML text should gray out the text when disabled] -- ``JDK 1.7.0-ea-b55``以上で、修正されている(上記のサンプルでも、無効化ですべての文字列がグレーになる)ようです。 **参考リンク [#o6dbac3d] - [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4740519 Bug ID: 4740519 HTML JLabel not greyed out on setEnabled(false)] - [http://forums.sun.com/thread.jspa?threadID=735190 Swing - JLabel with html tag can not be disabled or setForegroud?!] * 参考リンク [#reference] - [https://bugs.openjdk.org/browse/JDK-4783068 JDK-4783068 Components with HTML text should gray out the text when disabled - Java Bug System] - [https://community.oracle.com/thread/1377943 Swing - JLabel with html tag can not be disabled or setForegroud?!] - [[Hyperlinkを、JLabel、JButton、JEditorPaneで表示>Swing/HyperlinkLabel]] - [[JLabelなどのHtmlレンダリングを無効化>Swing/HtmlDisable]] -- `Html`レンダリングを無効化してタグを文字列として表示する場合のサンプル **コメント [#wa1ddeea] * コメント [#comment] #comment #comment