这是代码
void openFile_ActionPerformed(ActionEvent e) {
// some code here
worker.setFile(file);
worker.start();
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (actDone) {
if (timer != null)
timer.stop();
// How to return from the openFile_ActionPerformed() method after this line?
progressWindow.threadCompleted(worker);
}
}
};
timer = new Timer( 100 , taskPerformer);
timer.setRepeats(true);
timer.start();
progressWindow.display();
}
我希望该方法在该行之后从openFile_ActionPerformed方法返回
progressWindow.threadCompleted(worker);
但这是内部类内部。我试图把“回报”放进去。在那里,它似乎从内部类中的“ actionPerformed()”方法返回。
如何从内部类中的方法返回外部方法?谢谢
你做不到
整个问题ActionListener.actionPerformed
是它异步触发,即不停止程序流。
您需要openFile_ActionPerformed
先actionPerformed
完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句