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