Join 单击按钮后,如何等待SwingWorker完成后再继续?
我有以下代码:Join 单击按钮后,如何等待SwingWorker完成后再继续?,join,swingworker,Join,Swingworker,我有以下代码: public class FileLoader extends SwingWorker(Void, Void) { @Override private Void doInBackground() { loadFiles(); } } public class LogInPage { private FileLoader fileLoader = new FileLoader(); public LogInPage()
public class FileLoader extends SwingWorker(Void, Void) {
@Override
private Void doInBackground() {
loadFiles();
}
}
public class LogInPage {
private FileLoader fileLoader = new FileLoader();
public LogInPage() {
fileLoader.execute();
}
loginButtonActionPerformed(ActionEvent evt) {
//wait for files to finish loading
//while displaying a waiting cursor
showMainForm();
}
}
我的问题是:
单击按钮后,我希望在显示主窗体之前先加载所有文件(同时显示沙漏光标和进度条)
我以前在线程的join()上做过这项工作,但在SwingWorker上做不到
我读过关于重写done()和实现侦听器的内容,但我不能在这里应用它
有什么帮助吗
谢谢。从你所说的和你所想的相反,我认为你实际上可以使用SwingWorker的done()方法。在execute()之前,禁用按钮,启动一个繁忙的动画,然后在done()方法中,执行继续程序所需的任何操作。这就是它的用途:-) 您还应该查看SwingWorker.publish()和process()来发送和接收进度条事件 另见: