我正在尝试构建一个jogl应用。我下载了jar和本机dll文件。我已将它们包含在我的构建路径中,但是当我运行我的代码时,我从标题中得到错误
这是我的vm文件:
-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Djava.library.path="C:\Users\Vlad\Documents\dev\jogamp-all-platforms\lib\windows-amd64"
这是该文件夹:
以下是我在构建路径中的jar:
最后,如果这里需要实际的代码,那就是:
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLCapabilities;
import javax.swing.*;
/**
* on 20/02/14.
*/
public class Demo extends JFrame {
static Demo app = new Demo();
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
app.setVisible(true);
}
});
}
public Demo(){
super("This is my first jogl app");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GLCapabilities caps = new GLCapabilities();
GLCanvas canvas = new GLCanvas(caps);
canvas.addGLEventListener(new MyGLListener());
getContentPane().add(canvas);
}
}
修改
我更改了库以匹配新库:
如你所见,我有本地人和jogl-all.jar,甚至还有gluegen-rt.jar库。
我现在得到的错误是编译器错误:
这是造成它的代码:
GLCanvas canvas = new GLCanvas(new GLCapabilities());
它说GLCapabilties中的GLCapabilites(GLProfiles)不能应用于();
答案 0 :(得分:1)
您可能还需要在构建路径中包含gluegen-rt.jar
。您应该可以从找到jogl-all.jar
(JOGL 2)的相同位置获取此内容。
关于您的编辑,为简单起见,您可以使用:
GLCanvas canvas = new GLCanvas(new GLCapabilities(null));
这将允许您使用默认的GLProfile
。
答案 1 :(得分:0)
您的源代码使用JOGL 1,而您尝试使用JOGL 2 JAR。而是看my simple example on Wikipedia。您可以在我们的Wiki here中找到安装JOGL的说明。