我想用Java学习OpenGL。我没有使用OpenGL的经验,但我对Java很满意。
计划是在Eclipse Indigo中使用JOGL。首先,从Schabby's Blog编写一个简单的hello world应用程序。我的申请来源是一样的。
我遵循所有步骤并引用 gluegen-rt-natives-windows-amd64.jar,gluegen-rt.jar,jogl-all.jar和jogl-all-natives-windows-amd64.jar 库。该应用程序配置为在JRE6 x64中运行。
当我运行应用程序时,抛出以下异常:
Exception in thread "main" java.lang.NoSuchMethodError: jogamp.common.awt.AWTEDTExecutor.invoke(Ljava/lang/Object;ZZLjava/lang/Runnable;)Z
其他答案表明问题在于主要方法,但我没有看到任何问题。
public static void main(String[] args)
{
\\Implementation
}
我还可以尝试解决这个问题吗?
编辑:似乎每次需要绘制时都会抛出异常。
如果我对此行frame.setSize( frame.getContentPane().getPreferredSize() );
发表评论,则会显示一个具有最小宽度和高度的默认框架,但只要重新调整大小,就会抛出相同的异常。
答案 0 :(得分:1)
这是无法加载本机库时引发的顶级异常。请参阅the documentation on local installation并仔细阅读。
首先确保JRE Eclipse正在使用的实际上是64位。您的行为与尝试在32位JRE中加载64位DLL一致。
请注意,博客有点过时了。例如,jogl.all.jar
现在是jogl-all.jar
。确保您的jar引用是正确的文件。使用this set of instructions, which is based on the current release可能会获得更好的结果。
本机jar在运行时扩展。存储此jar的目录必须可写,才能使此机制正常工作。我通常会详细介绍使用扩展的DLL / jnilib / so文件并设置java.library.path以消除所有疑问。