Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 LWJGL视图打开两次或更多_Java_Swing_Lwjgl - Fatal编程技术网

Java LWJGL视图打开两次或更多

Java LWJGL视图打开两次或更多,java,swing,lwjgl,Java,Swing,Lwjgl,我已经设法让lwjgl在swing内部的画布上工作,但是当我打开应用程序时,lwjgl会短暂地打开另一个名为“Source”的窗口 这不是一个真正的问题,因为这一切工作后,但它困扰着我,我想解决它 我甚至不确定到底发生了什么,这是一张gif照片 gif上的代码实际上来自另一个示例,在该示例中,它按预期工作 这是相关的opengl代码,本项目中的所有其他内容都是swing组件实例 EventQueue.invokeLater(new Runnable() { public

我已经设法让lwjgl在swing内部的画布上工作,但是当我打开应用程序时,lwjgl会短暂地打开另一个名为“Source”的窗口

这不是一个真正的问题,因为这一切工作后,但它困扰着我,我想解决它

我甚至不确定到底发生了什么,这是一张gif照片

gif上的代码实际上来自另一个示例,在该示例中,它按预期工作

这是相关的opengl代码,本项目中的所有其他内容都是swing组件实例

EventQueue.invokeLater(new Runnable()
    {
        public void run()
        {
            try {
                addLibraryPath("./lib/");
            } catch (Exception e1) {
                e1.printStackTrace();
            }
            try {
                Display.create();
                Display.setParent(canvas);
                GL11.glViewport(0, 0, 195, 195);
            } catch (LWJGLException e) {
                e.printStackTrace();
            }
            GL11.glClearColor(1f, 0f, 0f, 1f);
            GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
            Display.update();
        }
    });

这真的很尴尬,因为我在发帖2分钟后发现了问题所在

我只是需要交换一下

Display.create();
Display.setParent(canvas);
成功

Display.setParent(canvas);
Display.create();
我希望这能帮助别人