我有以下代码...
runNow.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final Search s = (Search) node.getUserObject();
// Swing worker
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@Override
public Void doInBackground() {
s.run();
return null;
}
@Override
public void done() {
window.updateResultsPanel(s.getResults(), s.getName());
}
};
worker.run();
}
});
这是一个弹出菜单动作,它应该创建一个新的 SwingWorker,释放 GUI,做一些工作,然后更新窗口的结果。但是,现在当我单击菜单项时,GUI 会被锁定,直到工作完成,这令人费解,使用 SwingWorker 的重点是不会发生这种情况。
任何关于我做错了什么的想法都将不胜感激。
-科迪