【问题标题】:Embed processing 3 into swing将处理3嵌入到swing中
【发布时间】:2016-01-11 03:40:49
【问题描述】:

我正在尝试将 Processing 3 集成到一个 Swing 应用程序中,但由于 PApplet 不再扩展 Applet,我无法立即将其添加为组件。

是否有将处理 3 草图嵌入到 Swing 中,如果我可以在没有 PDE 的单独窗口中打开草图就足够了。

【问题讨论】:

    标签: java swing embed integration processing


    【解决方案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 后,您可以将其从框架中移除并将其添加到您的框架中。

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 2021-10-08
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 2013-12-23
      • 2011-09-02
      相关资源
      最近更新 更多