2009-05-05 17 views
0

現在、JOGLを使用して設計されたゲームのイントロ画面に取り組んでいます。イントロは、ゲームを開始する前にオプションを変更するためのボタンがいくつか付いたJPanelになりたい。JFrameからJPanelを削除する

私はGLCanvasを追加するJFrameを持っています。 GLCanvasには、GLEventListenerも含まれています。最後に、JPanelを追加します。

JPanel paintComponentメソッドをオーバーライドして、背景イメージを設定しました。私はパネル内にいくつかのボタンを持っています。 '再生'ボタンをクリックするたびに、以下の機能を呼び出します。

frame.remove(JPanel); frame.repaint(); animator.start();

私のJPanelが正しくなくなってしまいますが、再ペイントが呼び出されると、フレームがグレーで塗りつぶされます。 GLEventListenerの表示メソッドが呼び出されると、アニメーターが正しく起動していることがわかります。

誰も問題があることを知っていますか?

+0

GLEventListener.display()は、より単純なコンテキストで呼び出された場合、何かを描画しますか? – DJClayworth

答えて

2

あなたのLayoutManagerとは何ですか?指定しなかった場合は、JPanelを追加してGLCanvasを置​​き換えます。

私はあなたのコードでこれを行うでしょう:
frame.remove(JPanel); frame.add(glcanvas); animator.start();
frame.revalidate()をスローする必要があるかもしれません。私はすべてのことが今働いているのではない。

関連する問題