这是代码
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();
}
Run Code Online (Sandbox Code Playgroud)
我希望该方法在行之后返回openFile_ActionPerformed方法
progressWindow.threadCompleted(worker);
Run Code Online (Sandbox Code Playgroud)
但这是一个内部阶级.我试图把"回归" 它似乎从内部类中的方法"actionPerformed()"返回.
如何从内部类中的方法返回外部方法?谢谢
你不能这样做.
整个问题ActionListener.actionPerformed是,它会异步触发,即不会停止程序的流动.
你的openFile_ActionPerformed前完成actionPerformed结束.