从LWJGL打开JFrame的问题

时间:2014-09-09 04:23:24

标签: java opengl swing

我正在制作一个使用LWJGL渲染一个Display窗口的程序,它还会监听键盘输入以提示它打开一个swing窗口。问题是,在第一个键盘提示符下,它会成功打开窗口。但是当你关闭它并再次尝试时,似乎LWJGL窗口“粘住”你刚刚按下的键,而是开始打开无限的新Swing窗口......我不知道如何解决这个问题。

以下是一些展示我的问题的代码......

public class Launcher {

public static void main(String[] args){
    new Launcher();
}

public Launcher(){
    loadGUI();
    go();
}

public void go(){
    while(!Display.isCloseRequested()){
        listen();
        glClear(GL_COLOR_BUFFER_BIT);
        Display.update();
        Display.sync(60);

    }
}

private void listen(){
    if(Keyboard.isKeyDown(Keyboard.KEY_SPACE)){
        System.out.println("fk");
        Example e = new Example();
    }
}

private void loadGUI(){

    try{
        Display.setDisplayMode(new DisplayMode(480,480));
        Display.setTitle("Example");
        Display.create();
    }catch(LWJGLException e){
        e.printStackTrace();
        Display.destroy();
        System.exit(1);
    }

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0, 480, 480, 0, 1, -1);
    glMatrixMode(GL_MODELVIEW);

}

private class Example extends JFrame{

    public Example(){
        add(new JPanel(), BorderLayout.NORTH);
        pack();
        setResizable(true);
        setTitle("Test");
        setVisible(true);
    }

}

}

0 个答案:

没有答案