gpt4 book ai didi

java - Jprogress Bar和并发

转载 作者:行者123 更新时间:2023-12-01 14:19:38 26 4
gpt4 key购买 nike

我知道有很多与此相关的问题,在过去的 2 小时内我浏览了其中大部分问题,寻找有效的答案,但没有一个成功。

我的困境是我正在制作一个地理编码器。我的程序只是一个 GUI,允许用户选择包含要读取的地址的 Excel 文件,然后按另一个按钮创建一个新的 Excel 文件,其中包含所述数据以及与其链接的纬度和经度。现在我的客户很可能会一次运行数千行,这就是为什么我想添加一个进度条而不是让程序挂起。但是,现在的问题是,正如预期的那样,该栏直到最后才更新。

现在我读到了关于 swingworker 的内容,但我似乎不知道如何实现它。我的 actionperformed 方法是否应该只创建一个完成所有工作的新线程?如果是这样,我将如何了解工作的进展情况?我现在对这个问题真的很困惑,希望得到任何帮助。

谢谢。

最佳答案

这里有一个完整的example我真的很想了解你如何使用 SwingWorker

一个基本示例:

public class MySwingWorker extends SwingWorker<String,String> {

@Override
public String doInBackground() {
//here you make heavy task in another thread
// you call publish or setProgress or both
}

@Override
protected void done() {
//here is call when job is done, you can update here your gui
}

public void process(List<String> chunks){
// this is called when you do publish in the background here
// you update the gui
}

}

如果需要的话,可以在 actionPerformed 中使用 mySwingWorker.execute() 执行此方法

关于java - Jprogress Bar和并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732156/

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