0

JoGL の使用方法を学習しようとしていますが、これらすべてをインポートしたにもかかわらず、何らかの理由でこのエラーが発生します。

import javax.media.opengl.*;
import javax.media.opengl.glu.*;
com.sun.opengl.util.* をインポートします。
com.sun.opengl.util.j2d.* をインポートします。
public void display(javax.media.opengl.GLDrawable gLDrawable)
    {
      最終GL gl = gLDrawable.getGL();
    }

または

public void display(GLDrawable gLDrawable)
    {
      最終GL gl = gLDrawable.getGL();
    }

仕事。

これを修正するにはどうすればよいですか?

(編集:次の質問をここに移動しました...得た回答で状況が変わった場合は、質問を編集したり、新しい質問を作成したりできます)

さて、それは getGL() で機能しましたが、今でも「シンボル メソッド getGL U ()が見つかりません」という問題が発生しています。

public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height)
{
  final GL gl = gLDrawable.getGL();
  final GLU glu = gLDrawable.getGLU();
}
4

3 に答える 3

2

これは、GLDrawable が実際にはそのようなメソッドを持っていないためです。こちらを参照してください。

これは、GLCanvas と GLJPanel によって実装されているインターフェイスであり、どちらもそのようなメソッドを持っています。

あなたがする必要があるのは、GLAutoDrawable を渡し、その getGL メソッドを使用することだと思います。ここを参照してください。

このウィキペディアの記事には、それがどのように行われたかを示すサンプルソースがあります。

なぜ機能しないのかを尋ねるさらなるクエリへの回答として、final GLU glu = gLDrawable.getGLU();おそらく API の最新の JSR-231 バージョンを使用していますが、古いソース コード サンプルに基づいて独自のコードを作成しています。

その仕様の前は、次から GLU を取得していました。

final GLU glu = glAutoDrawable.getGLU();

これで、次を使用するだけです。

final GLU glu = new GLU();

その特定のオブジェクトの詳細については、こちらを参照してください。

于 2009-03-06T01:46:01.090 に答える
0

さて、それは getGL() で機能しましたが、今でも「シンボル メソッド getGL U ()が見つかりません」という問題が発生しています。

public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height)
    {
      最終GL gl = gLDrawable.getGL();
      最終的な GLU glu = gLDrawable.getGLU();
    }

于 2009-03-06T02:00:40.040 に答える
0

使用している API のバージョンによっては、getGLU メソッドが存在しないようです。ダウンロードしたバージョンに (うまくいけば) 付属している javadoc を見ると、存在するメソッドを見つけることができます。

使用しているバージョン (ダウンロードした場所へのリンクがあると便利です)。

于 2009-03-06T02:30:27.817 に答える