Coo*_*ube 5 java embed processing integration swing
我正在尝试将 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);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,如果您想获取底层组件,则必须根据您使用的渲染器编写代码。以下是使用标准渲染器的方法:
PSurfaceAWT awtSurface = (PSurfaceAWT)mp.surface;
PSurfaceAWT.SmoothCanvas smoothCanvas = (PSurfaceAWT.SmoothCanvas)awtSurface.getNative();
Run Code Online (Sandbox Code Playgroud)
获得 后SmoothCanvas,您可以将其从框架中删除并将其添加到您的框架中。
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |