サンプルコード
Color BG_COLOR = new Color(1f, .8f, .8f, .2f);
field0 = new JTextField("000000000");
field0.setBackground(BG_COLOR);
field1 = new JTextField("111111111111111111");
field1.setOpaque(false);
field1.setBackground(BG_COLOR);
field2 = new JTextField("22222222222222222222") {
@Override protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
g2.setPaint(getBackground());
g2.fillRect(0, 0, getWidth(), getHeight());
g2.dispose();
super.paintComponent(g);
}
};
field2.setOpaque(false);
field2.setBackground(BG_COLOR);
View in GitHub:
Java
,
Kotlin
上記のサンプルでは、それぞれアルファ値を使った半透明の背景色を
JTextField
に設定しています。
-
0
:
setOpaque(true)
-
文字列を選択するとキャレットの点滅などの再描画で残像が表示されてしまう
-
NimbusLookAndFeel
では発生しない
-
1
:
setOpaque(false)
-
setOpaque(false)
とすると背景色は描画されない
-
NimbusLookAndFeel
では背景色が描画される
-
2
:
1 + paintComponent
-
setOpaque(false)
を設定、かつ
paintComponent(...)
メソッドをオーバーライドして背景色を描画
-
NimbusLookAndFeel
でのスクリーンショット
-
GTKLookAndFeel
でのスクリーンショット
参考リンク
連絡先
ヘルプ
最新の10件
2024-10-07
2024-10-04
2024-10-03
2024-09-30