【发布时间】:2011-11-14 12:31:40
【问题描述】:
我有一个方法 register() 需要很长时间才能完成。所以我把它放在了swingworker的doInBackGround()中。同时,我想显示模态对话框并且上面有不确定的进度条。
private void registerPopupItemActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
WaitDialog dialog = new WaitDialog(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
});
dialog.setVisible(true);
SwingWorker worker = new SwingWorker() {
@Override
protected Object doInBackground() throws Exception {
register();
return 0;
}
};
dialog.dispose();
}
但一切都冻结了。在调试器中,我看到 regester() 没有被调用。我哪里搞砸了?任何帮助将不胜感激!谢谢!
【问题讨论】:
标签: java multithreading swing swingworker concurrency