Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在关闭JFrame窗口时执行某些操作_Java_Multithreading_Jframe - Fatal编程技术网

Java 如何在关闭JFrame窗口时执行某些操作

Java 如何在关闭JFrame窗口时执行某些操作,java,multithreading,jframe,Java,Multithreading,Jframe,我完成了一个运行多线程的应用程序。每个线程都有一个JFrame窗口。 我想做的是,当用户单击X关闭窗口时,只关闭指定的线程及其窗口 public ImageShower( VideoStream localStream){ // Something something frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.add(rViewer); frame.addWindowL

我完成了一个运行多线程的应用程序。每个线程都有一个JFrame窗口。 我想做的是,当用户单击X关闭窗口时,只关闭指定的线程及其窗口

public ImageShower( VideoStream localStream){

    // Something something

    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    frame.add(rViewer);

    frame.addWindowListener(new java.awt.event.WindowAdapter(){
        @Override
        public void windowClosing(java.awt.event.WindowEvent windowEvent){
            localStream.stopWork(); // this part can not access the local stream here. it says that the localStream should be final.
        }
    }); 
}
这就是我写的,但是在方法内部无法访问localStream。
如何处理这个问题?

你应该实例化你的流媒体类,这样你就可以随心所欲地响应它的运行方法。或者将您的代码更改为
publicmageshower(最终视频流localStream){}

谷歌又坏了吗?将方法“header”更改为
publicmageshower(最终视频流localStream)