将处理3嵌入到swing中
Posted
技术标签:
【中文标题】将处理3嵌入到swing中【英文标题】:Embed processing 3 into swing 【发布时间】:2016-01-11 03:40:49 【问题描述】:我正在尝试将 Processing 3 集成到一个 Swing 应用程序中,但由于 PApplet 不再扩展 Applet,我无法立即将其添加为组件。
是否有将处理 3 草图嵌入到 Swing 中,如果我可以在没有 PDE 的单独窗口中打开草图就足够了。
【问题讨论】:
【参考方案1】:您可以通过扩展 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
后,您可以将其从框架中移除并将其添加到您的框架中。
【讨论】:
以上是关于将处理3嵌入到swing中的主要内容,如果未能解决你的问题,请参考以下文章