无法在P3D

时间:2015-07-25 02:23:36

标签: java intellij-idea processing

我想使用下面的代码制作一个简单的3D盒子.....

public class Start extends PApplet {
    public void setup() {
        size(800, 600, P3D);
    }

    public void draw() {
        background(0);
        box(50, 40, 100);
    }

}

我遇到了一个例外。错误消息如下:

java.lang.NoClassDefFoundError: javax/media/opengl/GLException
    at processing.opengl.PGraphicsOpenGL.createPGL(PGraphicsOpenGL.java:1744)
    at processing.opengl.PGraphicsOpenGL.<init>(PGraphicsOpenGL.java:518)
    at processing.opengl.PGraphics3D.<init>(PGraphics3D.java:37)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at processing.core.PApplet.makeGraphics(PApplet.java:1919)
    at processing.core.PApplet.size(PApplet.java:1771)
    at processing.core.PApplet.size(PApplet.java:1742)
    at Start.setup(Start.java:8)
    at processing.core.PApplet.handleDraw(PApplet.java:2361)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240)
    at processing.core.PApplet.run(PApplet.java:2256)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 15 more
    Exception in thread "Animation Thread" java.lang.RuntimeException: javax/media/opengl/GLException
    at processing.core.PApplet.makeGraphics(PApplet.java:1944)
    at processing.core.PApplet.size(PApplet.java:1771)
    at processing.core.PApplet.size(PApplet.java:1742)
    at Start.setup(Start.java:8)
    at processing.core.PApplet.handleDraw(PApplet.java:2361)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240)
    at processing.core.PApplet.run(PApplet.java:2256)
    at java.lang.Thread.run(Thread.java:745)

我正在使用Java和Processing以及IntelliJ Idea。 显卡可能是问题所以这里是规格: 英特尔高清显卡4600

很抱歉,如果我没有提供足够的信息,请尽我所能,但我有点新的堆叠和打印堆栈痕迹等等。

4 个答案:

答案 0 :(得分:0)

我尝试运行你的代码。除了它说:The public type Start must be defined in its own file

之外我也收到了错误

所以我删除了周围的类声明,它运行正常。

这是我运行的代码(有效)

public void setup() {
    size(800, 600, P3D);
}

public void draw() {
    background(0);
    box(50, 40, 100);
}

注意:我在默认处理IDE中运行它,所以我不知道这是否会有所帮助。

答案 1 :(得分:0)

我通过添加两个文件glugen-rt和jogl-all来修复它。 虽然我现在发布了另一个错误。

编辑: 只需要重新启动来修复它:3

锁定线程

答案 2 :(得分:0)

有同样的问题。正在更新,将所有库从处理3个应用程序文件夹导入到项目结构,然后对其进行修复。enter image description here

答案 3 :(得分:0)

添加jogl-all-natives-windows-amd64.jargluegen-rt-natives-windows-amd64.jar. You'll find them in the core / library`文件夹后,我就可以获取它。