Swing/TranslucentTextField のバックアップ(No.10)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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の背景色を半透明にする tags: [JTextField, Translucent] author: aterai pubdate: 2008-08-11T12:27:41+09:00 description: JTextFieldの背景色を半透明にします。
概要
JTextField
の背景色を半透明にします。
Screenshot
Advertisement
サンプルコード
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) {
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(getBackground());
g2.fillRect(0, 0, getWidth(), getHeight());
super.paintComponent(g);
}
};
field2.setOpaque(false);
field2.setBackground(BG_COLOR);
View in GitHub: Java, Kotlin解説
上記のサンプルでは、それぞれアルファ値を使った背景色をJTextField
に設定しています。
- 上:
field0
- 文字列を選択すると、再描画がおかしくなる(残像が表示される)
NimbusLookAndFeel
では、再現しない
- 中:
field1
setOpaque(false)
とすると、背景色は描画されないNimbusLookAndFeel
では、背景色が描画される
- 下:
field2
setOpaque(false)
とし、paintComponent
をオーバーライドして、背景色を描画している
NimbusLookAndFeel
でのスクリーンショット
GTKLookAndFeel
でのスクリーンショット
参考リンク
- 江戸の文様(和風素材・デスクトップ壁紙)
- 名物裂から雲鶴をサンプルの壁紙として拝借しています。