关闭应用程序后,Java Eclipse“进程”没有结束

时间:2013-02-27 07:10:34

标签: java swing opencv jframe webcam

我正在编写一个显示连接到我的计算机的网络摄像头的应用程序。 我将在这里编写代码,因为代码非常简单。

public static void main(String[] args) {
    JFrameImageDisplayer _window = new JFrameImageDisplayer();
    //webcamGrabber _wg = new webcamGrabber(); 
    //commented out because I am having trouble with this class.
}

JFrameImageDisplayer打开一个框架,几乎就是这样。 当我运行此代码时,我在框架中打开一个带有JLabel的简单应用程序。如果我关闭应用程序,则整个过程终止(并且Windows任务管理器进程选项卡处理过程也是如此)。

然而,一旦我创建了_wg,即使在我关闭应用程序结束时只是刻录处理能力,任务管理器中的进程也不会终止,直到我手动转到处理栏结束它。

以下是webcamGrabber的构造代码。

{
    OpenCVFrameGrabber _grab = new OpenCVFrameGrabber(0);
    try{
        _grab.start();

    } catch (Exception e){
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:1)

嗯,我不太清楚做什么。所以我手动发布了资源。

protected void processWindowEvent(WindowEvent e){
    if(e.getID() == WindowEvent.WINDOW_CLOSING) {
        try{_wg._grab.release();}
        catch(Exception ee){}
    }
    super.processWindowEvent(e);
}

不是最漂亮的方式,但它有效。