这是代码
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()”返回。
如何从内部类中的方法返回外部方法?感谢
答案 0 :(得分:6)
你不能这样做。
ActionListener.actionPerformed
的重点是它异步触发,即不会停止程序的流动。
openFile_ActionPerformed
在actionPerformed
完成之前完成。