내 앱에서 LWJGL을 사용하여 3D 창을 렌더링하는 스윙 구성 요소 역할을하는 클래스가 있습니다. 앱을 실행하면 Display.create()
에서 오류가 발생합니다 (Parent.isDisplayable() must be true
). 나는 보았고, 대부분의 사람들은 setVisible()을 호출하기 전에 Display.create()를 호출 할 때 발생한다고 말한다. 그러나 여기서는 그렇지 않습니다. 왜 오류가 발생하는지 파악할 수 없습니다.LWJGL 앱에서 캔버스를 표시 할 수 없음
내 컨트롤은 다음과 같습니다
public class WorldCanvas extends JPanel {
private final Canvas canvas = new Canvas();
public WorldCanvas() {
...
add(canvas, BorderLayout.CENTER);
try {
Display.setParent(canvas);
setVisible(true);
canvas.setVisible(true);
Display.create();
} catch (LWJGLException e) {
e.printStackTrace();
return;
}
}
}
그것은 JFrame의에 직접 추가되고, 그리고는, setVisible을 (참)이 추가되기 전에 또한 수 있습니다 전에 그러나이 오류가 생성되는 (JFrame에 불려 심지어 그것이 생성자에 있다고 가정하면 추가됩니다.) 이 오류가 발생하는 이유는 무엇입니까?
미안 아직 답변을 드리지 못했지만, 지금까지이 프로젝트를 진행할 시간이 없었습니다. 여하튼, 그것은 문제를 해결했다, 그것은 지금 일하고있다. 나는 생성자 순서 등의 문제에 대해 잊었다. 고맙습니다! –