Tôi gặp sự cố khi đặt màu nền của JTextArea sau khi tôi đặt văn bản. Mã này như sau:Hiện vật khi thay đổi màu nền củ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();
}
}
Nếu tôi nhấp vào nút, nền của JTextArea thay đổi, nhưng tôi cũng nhận được một số hiện vật trong vùng văn bản. Các "repaint" dường như sửa chữa nó, nhưng trong ví dụ ứng dụng của tôi, nó không giúp đỡ, vì vậy tôi đã tự hỏi liệu có một giải pháp tốt hơn cho việc này.
hãy có một cái nhìn tại blog của Rob Camick của về vấn đề này: [nền-với-minh bạch] (http://tips4java.wordpress.com/2009/ 05/31/nền-với-minh bạch /) –
Tuyệt vời! Đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn bạn đã bình luận. – Max
@EdStaub: "Câu trả lời" của tôi chỉ là một liên kết và do đó phải là một nhận xét duy nhất. –