Swing/TranslucentTextField のバックアップ差分(No.8)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/TranslucentTextField へ行く。
- 1 (2008-08-11 (月) 12:27:41)
- 2 (2008-08-11 (月) 13:42:33)
- 3 (2008-08-12 (火) 18:33:35)
- 4 (2009-07-07 (火) 19:36:39)
- 5 (2010-12-13 (月) 21:14:03)
- 6 (2010-12-14 (火) 14:49:32)
- 7 (2012-10-24 (水) 13:50:10)
- 8 (2012-10-26 (金) 22:04:40)
- 9 (2013-01-19 (土) 20:14:58)
- 10 (2014-11-01 (土) 00:46:09)
- 11 (2014-11-18 (火) 16:02:45)
- 12 (2015-12-16 (水) 16:42:58)
- 13 (2016-05-27 (金) 13:18:05)
- 14 (2017-08-15 (火) 13:50:02)
- 15 (2017-11-02 (木) 15:32:16)
- 16 (2017-11-02 (木) 15:34:40)
- 17 (2018-08-10 (金) 16:20:11)
- 18 (2020-08-08 (土) 16:31:19)
- 19 (2021-12-28 (火) 12:20:50)
- 20 (2022-08-20 (土) 22:15:25)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JTextFieldの背景色を半透明にする #navi(../) RIGHT:Posted by &author(aterai); at 2008-08-11 *JTextFieldの背景色を半透明にする [#x96d09bf] JTextFieldの背景色を半透明にします。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTV03Q10yI/AAAAAAAAAoQ/xH8xmeARg4k/s800/TranslucentTextField.png) **サンプルコード [#taebf677] #code(link){{ Color BG_COLOR = new Color(1f,.8f,.8f,.2f); field0 = new JTextField("aaaaaaaaa"); field0.setBackground(BG_COLOR); field1 = new JTextField("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); field1.setOpaque(false); field1.setBackground(BG_COLOR); field2 = new JTextField("cccccccccccccccccccccc") { @Override protected void paintComponent(Graphics g) { @Override protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; g2.setPaint(getBackground()); g2.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; field2.setOpaque(false); field2.setBackground(BG_COLOR); }} **解説 [#p23f641d] 上記のサンプルでは、それぞれアルファ値を使った背景色をJTextFieldに設定しています。 -上: field0 --文字列を選択すると、再描画がおかしくなる --Nimbus L&F では、再現しない -中: field1 --setOpaque(false)とすると、背景色は描画されない --Nimbus L&F では、背景色が描画される ---参考:[http://weblogs.java.net/blog/ljnelson/archive/2008/07/nimbus_and_opac.html Laird Nelson's Blog: Nimbus and Opacity] -下: field2 --setOpaque(false) とし、paintComponentをオーバーライドして、背景色を描画している ---- - Nimbus L&F でのスクリーンショット //#screenshot(,screenshot1.png) #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQcFKxPuBpI/AAAAAAAAAqw/1P6cGhtr7FA/s800/TranslucentTextField1.png) -GTK L&F でのスクリーンショット --[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6531760 Bug ID: 6531760 JTextField not honoring the background color] //#screenshot(,screenshot2.png) #ref(http://lh3.ggpht.com/_9Z4BYR88imo/TQTV55zD1gI/AAAAAAAAAoY/0PCTmGDb2AA/s800/TranslucentTextField2.png) **参考リンク [#s707327e] -[http://www.viva-edo.com/komon/edokomon.html 江戸の文様(和風素材・デスクトップ壁紙)] --名物裂から雲鶴をサンプルの壁紙として拝借しています。 **コメント [#l25f2c0b] #comment