Java:如何从内部类中的方法返回外部方法

Rai*_*lin 3 java swing

这是代码

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()"返回.

如何从内部类中的方法返回外部方法?谢谢

Pau*_*per 6

你不能这样做.

整个问题ActionListener.actionPerformed是,它会异步触发,即不会停止程序的流动.

你的openFile_ActionPerformed前完成actionPerformed结束.