如何将PApplet对象嵌入到普通的applet中?

时间:2013-08-23 16:57:32

标签: java applet processing

我有一个用Java编写的Processing草图(不是处理IDE),我想将它嵌入到一个可以通过Web浏览器的java插件运行的Java applet中。处理草图是通过扩展一个名为PApplet的类来创建的,而PApplet又扩展了Component,所以原则上这应该很容易。确实,this指南解释了如何将其嵌入到JFrame中; this文档也很重要。问题是我对applet的经验很少,我无法弄清楚如何修改我的示例。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

Andrew是对的,PApplet is a Applet(概括,扩展等)基本上所有Applet都具有的功能,你的Processing PApplet也会有更多功能。这只是简单地导出applet的问题。

Processing 2.0删除了导出小程序选项,但它仍然存在于处理1.5.1 中,您可以从稳定版本 {获取{3}}

另一种方法是将Porcessing downloadseclipse插件一起使用。 该插件允许您轻松创建Processing项目(PApplet子类等) 并且还可以轻松导出applet或应用程序。虽然比最小的Processing编辑器重,但你在eclipse中有很多漂亮的工具,比如自动完成和重构,仅举几例。

再次查看你的问题,它看起来有点混乱:鸡和蛋的问题:你想要使用Applet只是因为你想将你的PApplet嵌入到html容器中。 正如安德鲁所说,你可以简单地导出你的PApplet并嵌入它(html文件也会生成)。 使用您的方法:使用包含PApplet的单独Applet,您可以执行以下操作:

import java.applet.Applet;
import processing.core.PApplet;

public class CApplet extends Applet{

   public CApplet(){
       PApplet sketch = new YourPAppletClassNameHere();
       sketch.init();
       add(sketch);
   }
}

然后你需要导出这个小程序,对吗?为什么这样做而不是简单地首先导出PApplet?

答案 1 :(得分:0)

需要两个单独的类:

import java.applet.Applet;
import processing.core.PApplet;

public class CApplet extends Applet
{
  public CApplet()
  {
    PApplet sketch = new MyP5Applet();
    sketch.init();
    add(sketch);
  }
}

import processing.core.PApplet;

public class MyP5Applet extends PApplet
{
  public void setup()
  {
    size(100, 100);
    // ...
  }

  public void draw()
  {
    rect(10, 10, 80, 80);
    // ...
  }
}

然后只运行CApplet(来自Eclipse,AppletRunner,HTML或其他)