【发布时间】:2020-09-20 07:23:12
【问题描述】:
我正在尝试创建一个透明的 JTextArea,但更新后的文本与前一个重叠。
我尝试使用 TextArea 的 scrollpane、borderlayout 和 setOpaque(false) 方法,但它们都不起作用。
透明背景->
这里是代码
public class PanelTest {
public static void main(String[] args) {
PanelTest test = new PanelTest();
test.createUI();
}
public void createUI() {
JFrame frame = new JFrame("Panel Test");
frame.setUndecorated(true);
frame.setBackground(new Color(1.0f, 1.0f, 1.0f, 0.0f));
JTextArea jTextArea = new JTextArea("");
jTextArea.setEditable(false);
jTextArea.setBackground(new Color(1.0f, 1.0f, 1.0f, 0.0f));
jTextArea.setRows(12);
jTextArea.setColumns(7);
frame.add(jTextArea);
frame.setResizable(true);
frame.pack();
frame.setVisible(true);
Thread t = new Thread(){
public void run(){
while (true) {
String s = execute("cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq");
System.out.println(s.length());
jTextArea.setText(s);
try {
this.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
t.start();
}
【问题讨论】: