我试图将Processing 3集成到一个swing应用程序中,但是由于PApplet不再扩展Applet,所以我不能立即将其添加为组件。
无论如何,将Processing 3草图嵌入到Swing中,只要我能在没有PDE的单独窗口中打开草图就足够了。
最佳答案
您可以通过扩展PApplet从Java运行草图,然后使用runSketch()
函数运行该PApplet。它看起来像这样:
String[] args = {"MyPapplet "};
MyPapplet mp = new MyPapplet ();
PApplet.runSketch(args, mp);
public class MyPapplet extends PApplet {
public void settings() {
size(200, 100);
}
public void draw() {
background(255);
fill(0);
ellipse(100, 50, 10, 10);
}
}
然后,如果要使用基础组件,则必须编写代码,具体取决于所使用的渲染器。使用标准渲染器的方法如下:
PSurfaceAWT awtSurface = (PSurfaceAWT)mp.surface;
PSurfaceAWT.SmoothCanvas smoothCanvas = (PSurfaceAWT.SmoothCanvas)awtSurface.getNative();
一旦有了
SmoothCanvas
,就可以将其从框架中删除并将其添加到您的框架中。