Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;找不到符号方法getGL();(现在还有getGLU())_Java_Opengl_Jogl - Fatal编程技术网

Java &引用;找不到符号方法getGL();(现在还有getGLU())

Java &引用;找不到符号方法getGL();(现在还有getGLU()),java,opengl,jogl,Java,Opengl,Jogl,我正在尝试学习如何使用JoGL,出于某种原因,尽管导入了所有这些,但我还是遇到了这个错误: import javax.media.opengl.*; import javax.media.opengl.glu.*; import com.sun.opengl.util.*; import com.sun.opengl.util.j2d.*; 这是因为GLDrawable实际上没有这样的方法-请参阅 这是一个由GLCanvas和GLJPanel实现的接口,两者都有这样的方法 我认为您需要做的是传入

我正在尝试学习如何使用JoGL,出于某种原因,尽管导入了所有这些,但我还是遇到了这个错误:

import javax.media.opengl.*; import javax.media.opengl.glu.*; import com.sun.opengl.util.*; import com.sun.opengl.util.j2d.*;
这是因为GLDrawable实际上没有这样的方法-请参阅

这是一个由GLCanvas和GLJPanel实现的接口,两者都有这样的方法

我认为您需要做的是传入一个GLAutoDrawable并使用它的getGL方法。看

有一些示例源,显示了它是如何完成的

在回答进一步的问题时,您会问为什么
final GLU-GLU=gLDrawable.getGLU()
不起作用,您可能正在使用最新的JSR-231版本的API,但您自己的代码基于较旧的源代码示例

在该规范之前,您通常通过以下方式获取GLU:

final GLU glu = glAutoDrawable.getGLU();
有了它,您现在只需使用:

final GLU glu = new GLU();

有关该特定对象的详细信息,请参阅。

好的,这对getGL()有效,但现在我仍然遇到“找不到符号方法getGLU()”的问题

公共空间重塑(GLAutoDrawable gLDrawable、int x、int y、int WITH、int height) { 最终GL=gLDrawable.getGL(); 最终GLU-GLU=gLDrawable.getGLU(); }
看起来,根据您使用的API版本的不同,getGLU方法并不存在。通过查看下载的版本附带的javadoc(希望如此),您可以了解存在哪些方法


您使用的是什么版本(链接到您下载它的地方会很好)。

什么是不可编译的代码行?您可能使用的是JSR-231版本的API,并使用较旧的源代码作为您自己的API的基础。在该规范之前,您通常从“GLAutoDrawable.getGLU()”获取GLU。有了它,您现在只需使用“final GLU GLU=new GLU()”。请看,这应该是对我的答案的注释,而不是答案本身,但您在这里相对较新,所以我们就不谈了。:-)
public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height)
{
  final GL gl = gLDrawable.getGL();
  final GLU glu = gLDrawable.getGLU();
}
final GLU glu = glAutoDrawable.getGLU();
final GLU glu = new GLU();
public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height) { final GL gl = gLDrawable.getGL(); final GLU glu = gLDrawable.getGLU(); }