Mam problem podczas ustawiania koloru tła JTextArea po ustawieniu jego tekstu. Kod jest w następujący sposób:Artefakty przy zmianie koloru tła 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();
}
}
Gdybym kliknąć tle zmian JTextArea, ale także trochę artefaktów w polu tekstowym. "Odświeżanie" wydaje się to naprawiać, ale w moim przykładzie zastosowania, to nie pomaga, więc zastanawiałem się, czy istnieje lepsze rozwiązanie tego.
Proszę spojrzeć na blogu Rob Camick w tej [tła z-przejrzystości] (http://tips4java.wordpress.com/2009/ 05/31/tła-z przezroczystością /) –
Świetnie! Właśnie tego szukałem. Dzięki za komentarz. – Max
@EdStaub: Moja "odpowiedź" jest tylko linkiem i dlatego powinna być tylko komentarzem. –