gpt4 book ai didi

java - 用于输出和工作的 SwingWorker,还是各 1 个?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:58:17 26 4
gpt4 key购买 nike

目前我总是创建一个 SwingWorker 来完成我的实际工作,另一个通过 PipedReader 处理输出。

我很想将两者结合起来,但在我的情况下,我只是没有找到一种简单的方法。

鉴于我:

  1. 有一个可以正常工作的预制对象(converter,在本例中)
  2. 想要定期向 GUI 显示有关转换器进度的更新
  3. converter 完成它的任务并返回时接收一个对象。

没有两个 SwingWorker 有没有办法做到这一点?

编辑:请注意,使 converter 扩展 SwingWorker 不是一个选项。

编辑 2:回应下面的评论。这是一个更大的 GUI 应用程序的一部分,处理大量数据(以 txt 的形式)并通知用户哪里出了问题,或者已经决定了什么。

示例代码(纯说明性,未使用):

//SwingWorker 1
@Override
protected Void doInBackground() {

outputWorker.useInStream(new PipedReader(outStream));
outputWorker.execute();
converter.usePipedWriter(outStream);
Output object2=converter.Convert(object1);

}

//SwingWorker 2
@Override
protected Void doInBackground() {

while(inStream.hasNext()) {
publish(inStream.next());
}
}

最佳答案

如果使用一个或两个 SwingWorker 不是您问题的答案,我想让这些事情复杂化......

@user1291492 Processing 30 mb text files

关于java - 用于输出和工作的 SwingWorker,还是各 1 个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com