我正在尝试使用 java 中的 GUI 制作基于文本的游戏,我需要使用 SwingWorker。但是我不理解任何教程,这对我来说没有意义:(。
public void write(String msg){
int i=0;
while(true){
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
console.setText(console.getText()+ msg.charAt(i));
if(i==msg.length()){
console.setText(console.getText()+ newline);
break;
}
}
}
本质上,我要做的是将一个字符串传递给一个方法并逐个字符地打印出来,但是我不能,因为 sleep() 会中断 EDT 并将 GUI 锁定为 msg.length()*400ms :(。
如果有人有使用 SwingWorker 的代码解决方案,我将不胜感激 :)