2013-02-10 2 views
0

글쎄, 현재 맥을 사용 중이고, 라이브러리가 작동 할 수 있도록 간단한 LWJGL 테스트 프로그램을 작성하고 있었다. 그러나 디스플레이에 대해 닫힌 요청 상태를 얻으 려 할 때 오류가 발생한다.LWJGL Display.isCloseRequested() 오류가 발생 했습니까?

현재 Mac OSX 10.7.5를 사용하고 있으며 LWJGL 2.8.5를 사용하고 있으며 최신 Java (1.7.0_13)를 실행하고 있습니다. 이것이 나에 의해 만들어진 오류라면, 그것을 망설이지 말고 주저하지 마십시오.

오류 :

JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM 
Fatal error: Unable to create window. 
org.lwjgl.LWJGLException: Could not get the JAWT interface 
Exception in thread "main" java.lang.IllegalStateException: Cannot determine close requested state of uncreated window 
    at org.lwjgl.opengl.Display.isCloseRequested(Display.java:546) 
    at lwjgltest.LWJGLTest.start(LWJGLTest.java:26) 
    at lwjgltest.LWJGLTest.main(LWJGLTest.java:13) 
Java Result: 1 
BUILD SUCCESSFUL (total time: 2 seconds) 

코드 : 당신이 당신의 오류에 대해 알아 보겠습니다 경우

package lwjgltest; 

import org.lwjgl.LWJGLException; 
import org.lwjgl.opengl.Display; 
import org.lwjgl.opengl.DisplayMode; 

/** 
* 
* @author DealerNextDoor 
*/ 
public class LWJGLTest { 
    public static void main(String[] args) { 
     new LWJGLTest().start(); // Line 13 
    } 

    public void start() { 
     try { 
      Display.setDisplayMode(new DisplayMode(640, 480)); 
      Display.setTitle("LWJGL Test"); 
      Display.create(); 
     } catch (LWJGLException e) { 
      System.err.println("Fatal error: Unable to create window."); 
      System.err.println(e); 
     } 

     while (!Display.isCloseRequested()) { // Line 26 

      Display.update(); 
      Display.sync(60); 
     } 

     Display.destroy(); 
    } 
} 

답변

0

당신이 윈도우가 만들어지지 않은 것을 발견 할 것이다 : Fatal error: Unable to create window.

결과 , isCloseRequested() 메소드를 사용할 수 없습니다.

나는 당신이 도움이 될 것입니다 1.6 자바를 다운 그레이드 here

+0

'isCloseRequested()'를 사용할 수 없다면 사용자가 창을 닫으려고 할 때 무엇을 사용해야합니까? – DealerNextDoor

+0

@DealerNextDoor 우선 문제는 창이 ** 생성되지 않았다는 것입니다. 오류의 처음 몇 줄에서 확인할 수 있습니다. – Michael

+0

그래, 방금'System.exit (1)'을 catch 문 끝에 추가하는 것을 잊어 버렸으므로,'예외 스레드 "메인"... "을 연관 짓고 있었다. 그건 내 부분에 아주 바보 같은 실수 였어 ... – DealerNextDoor

0

를 생성되지 않는 이유에 대한 몇 가지 정보를 찾을 수 있다고 생각합니다.

+0

내 컴퓨터에 다시 돌아올 때까지 기다릴 수는 있지만 어쨌든 고마워. 이것은 아마도 내 문제를 해결할 것입니다. – DealerNextDoor

0

메서드 대신 내 생성자 Display.create();을 이동했으며 "생성되지 않은 창의 닫기 요청 상태를 확인할 수 없음"오류가 발생했습니다.

public Core() { // Main class constructor 

    try { 
     LibraryLoader.loadNativeLibraries(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     System.err.println("Error Loading Natives!"); 
    } 

    Scanner in = new Scanner(System.in); 
    startTime = System.currentTimeMillis(); 

    try { 
     Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT)); 
     Display.create(); 
     input = new InputHandler(); 
     Display.setTitle(TITLE); 
    } catch (LWJGLException e) { 
     e.printStackTrace(); 
     System.exit(1); 
     cleanUp(); 

    } 
    initGL(); 
    mainLoop(); 

}