我正在使用 swingworker 执行长时间运行的任务。在该任务之间,我想在 TextArea 中显示文本。问题是我想在我使用 netbeans GUI 构建器创建的 textarea 中显示文本,但它不显示任何内容。这是我的主要代码
public class SaveTraffic extends SwingWorker<Void, String> {
@Override
public Void doInBackground() throws IOException {
while (f.num() !=2) {
{
publish(captor.getPacket().toString());
writer.writePacket(captor.getPacket());
}
}
return null;
}//end main function
@Override
public void process(List<String> chunks) {
for (String text : chunks) {
f.showPackets(text);
}
}
@Override
public void done() {
System.out.println("I am DONE");
}
这是我在 GUI 中的代码,尽管它在 showPacket 函数中连续打印数据包,但它在 textarea 中什么也不显示
public void showPackets(String Packet)
{
jTextArea1.append(Packet);
}
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {
SaveTraffic p = new SaveTraffic();
p.execute();
}