我在JFrame
内使用awt画布来渲染我的LWJGL应用程序。当我在Netbeans中运行我的应用程序时,我可以使用我的
destroyOpenGL();
方法而不必使用
JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这是我的destroyOpenGL()方法的代码:
private void destroyOpenGL() {
obj.destroy();
obj2.destroy();
Display.destroy();
frame.dispose();
System.exit(0);
}
obj.destroy();
和obj2.destroy();
用于销毁正在渲染的两个VBO。
当我清理并将应用程序构建到.jar文件中并运行它时,一切正常,但是当我尝试关闭应用程序时,即使显示正确关闭,我也会收到java已停止工作的消息窗户。
当我添加JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
时,我在Netbeans中得到了这个:
Exception in thread "main" java.lang.IllegalStateException: Shutdown in progress
当我打扫并打造时,然后运行jar,它就会很好。
我不明白为什么会发生这种情况,而且我不确定是否有解决方案。