2用Java处理.org线程

2用Java处理.org线程,java,processing,Java,Processing,在Java IDE中重建Processing.org项目的过程中(IntelliJ 2019.3,Windows 10 x64上的Java 1.8.0241,Processing 3.5.4),我尝试将旧的解决方案转换为在不同屏幕上运行两个处理线程,一个在2D,一个在3D: 在这里找到运行良好的代码(向下滚动到最新的代码版本)。 但是通过我的Java代码,我在IntelliJ IDE中得到了错误消息(见下文)。有人能建议如何解决这个问题吗 import processing.core.PAppl

在Java IDE中重建Processing.org项目的过程中(IntelliJ 2019.3,Windows 10 x64上的Java 1.8.0241,Processing 3.5.4),我尝试将旧的解决方案转换为在不同屏幕上运行两个处理线程,一个在2D,一个在3D: 在这里找到运行良好的代码(向下滚动到最新的代码版本)。 但是通过我的Java代码,我在IntelliJ IDE中得到了错误消息(见下文)。有人能建议如何解决这个问题吗

import processing.core.PApplet;
import processing.core.PShape;

public class TwoThreads extends PApplet {

public static void main(String[] args)
{
    PApplet.main("TwoThreads", args);
}

public void settings() {
    size(400, 300, JAVA2D);
    smooth(3);
    noLoop();

    String[] args = {"SecondApplet"};
    SecondApplet sa = new SecondApplet();
    PApplet.runSketch(args, sa);
}

public void draw()
{
    line(5, 5, 50, 50);
}


public class SecondApplet extends PApplet {
    Tetra tetra;
    float theta;
    public void settings() {
        size(400, 300, P3D);
    }

    public void setup() {
        frameRate(30);
        //PVector myVec = new PVector(width>>1, height>>1, 0300);
        //circle = new MyCircle(this, myVec, #FFFF00);

        tetra = new Tetra(this, 10);
        theta = (float) 0.0;
    }

    public void draw() {

        background(255);
        theta += 0.01;
        translate(width/2, height/2, 0);
        rotateX(theta);
        rotateY(theta);

        // translate the scene again
        translate(100, 100, 20);

        background(0100);
        //translate(mouseX, mouseY, 20);
        //circle.display();
        //translate(mouseX, mouseY, 0);
        tetra.display();
        //box(100);
    }

}

public class Tetra {

    final PApplet p;

    // The PShape object
    final PShape gr;
    int t;
    float speed;

    Tetra(PApplet pa, int t_) {
        p = pa;

        t = t_;

        gr = p.createShape();

        gr.beginShape(TRIANGLES);
        gr.fill(150, 0, 0, 127);
        gr.vertex(-t, -t, -t);
        gr.vertex( t, -t, -t);
        gr.vertex( 0, 0, t);

        gr.fill(0, 150, 0, 127);
        gr.vertex( t, -t, -t);
        gr.vertex( t, t, -t);
        gr.vertex( 0, 0, t);

        gr.fill(0, 0, 150, 127);
        gr.vertex( t, t, -t);
        gr.vertex(-t, t, -t);
        gr.vertex( 0, 0, t);

        gr.fill(150, 0, 150, 127);
        gr.vertex(-t, t, -t);
        gr.vertex(-t, -t, -t);
        gr.vertex( 0, 0, t);

        gr.endShape();
    }

    Tetra display() {
        //p.box(100);
        p.shape(gr);
        return this;
    }
}
}
来自IntelliJ IDE的错误消息:

java.lang.NoClassDefFoundError: com/jogamp/opengl/GLCapabilitiesImmutable
at processing.opengl.PGraphicsOpenGL.createPGL(PGraphicsOpenGL.java:712)
at processing.opengl.PGraphicsOpenGL.(PGraphicsOpenGL.java:569)
at processing.opengl.PGraphics3D.(PGraphics3D.java:35)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at processing.core.PApplet.makeGraphics(PApplet.java:2266)
at processing.core.PApplet.createPrimaryGraphics(PApplet.java:2345)
at processing.core.PApplet.initSurface(PApplet.java:10983)
at processing.core.PApplet.runSketch(PApplet.java:10922)
at TwoThreads.settings(TwoThreads.java:19)
at processing.core.PApplet.handleSettings(PApplet.java:978)
at processing.core.PApplet.runSketch(PApplet.java:10897)
at processing.core.PApplet.main(PApplet.java:10657)
at TwoThreads.main(TwoThreads.java:9)
Caused by: java.lang.ClassNotFoundException: com.jogamp.opengl.GLCapabilitiesImmutable
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
… 16 more
java.lang.RuntimeException: com/jogamp/opengl/GLCapabilitiesImmutable
at processing.core.PApplet.makeGraphics(PApplet.java:2299)
at processing.core.PApplet.createPrimaryGraphics(PApplet.java:2345)
at processing.core.PApplet.initSurface(PApplet.java:10983)
at processing.core.PApplet.runSketch(PApplet.java:10922)
at TwoThreads.settings(TwoThreads.java:19)
at processing.core.PApplet.handleSettings(PApplet.java:978)
at processing.core.PApplet.runSketch(PApplet.java:10897)
at processing.core.PApplet.main(PApplet.java:10657)
at TwoThreads.main(TwoThreads.java:9)

Process finished with exit code 1

情况是没有设置JOGL文件的依赖项。这些文件与core.jar一起位于processing installation library文件夹中。

情况是没有设置JOGL文件的依赖关系。这些文件与core.jar一起位于processing installation library文件夹中