我有一个用 Java(不是处理 IDE)编写的处理草图,我想将它嵌入到一个 Java 小程序中,该小程序可以由 Web 浏览器的 Java 插件运行。处理草图是通过扩展一个名为 PApplet 的类来创建的,该类又扩展了 Component,因此原则上这应该很容易。事实上,本指南解释了如何将它嵌入到 JFrame 中;该文档也相关。问题是我对小程序的经验很少,我不知道如何修改我拥有的示例。任何人都可以帮忙吗?
2 回答
需要两个单独的类:
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 或其他)
Andrew 是对的,PApplet is a
Applet(泛化、扩展等)所以基本上一个 Applet 具有的所有功能,您的 Processing PApplet 也将具有更多功能。这只是简单地导出小程序的问题。
Processing 2.0 删除了Export Applet选项,但它仍然存在于Processing 1.5.1中,您可以从Stable Releases Porcessing 下载中获得它
另一种选择是使用带有Proclipsing插件的eclipse 。该插件允许您轻松创建处理项目(PApplet 子类等)并轻松导出小程序或应用程序。虽然比最小的处理编辑器重,但您在 Eclipse 中拥有大量漂亮的工具,例如自动完成和重构等等。
再次查看您的问题,看起来有点混乱:鸡和蛋的问题:您想使用 Applet 只是因为您想将 PApplet 嵌入到 html 容器中。正如 Andrew 所提到的,您可以简单地导出您的 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?