JTextAreaの背景色を設定した後、背景色を設定する際に問題が発生します。コードは以下の通りである:JTextAreaの背景色を変更するとアーティファクトが発生する
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Test extends JFrame {
private JTextArea area;
public Test() {
this.setLayout(new BorderLayout());
this.add(this.area = new JTextArea(), BorderLayout.CENTER);
this.add(new JButton(clickAction), BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setPreferredSize(new Dimension(500, 200));
this.pack();
this.area.setText("this is just a test");
this.setVisible(true);
}
Action clickAction = new AbstractAction("Click") {
@Override
public void actionPerformed(ActionEvent e) {
area.setBackground(new Color(0, 0, 123, 138));
// repaint();
}
};
public static void main(String[] args) {
new Test();
}
}
私はボタン、JTextAreaの変化の背景をクリックして、私はまた、テキスト領域にいくつかの成果物を取得した場合。 "再塗装"はそれを修正するようですが、私のアプリケーションの例では役に立たないので、もっと良い解決策があるのかどうか疑問に思っていました。
考える一つのテキストが欠落し、この上のロブCamickのブログを見てくださいしている:[背景-と透明性](http://tips4java.wordpress.com/2009/ 05/31/backgrounds-with-transparency /) –
優秀!それはまさに私が探していたものです。コメントいただきありがとうございます。 – Max
@EdStaub:私の "答え"はリンクだけなので、唯一のコメントでなければなりません。 –