我想做以下事情并且不知道如何做到,也许有人可以提供帮助:
我想在Processing中编写一个小型库,它使面向对象的编程概念可供学生使用。我会给你一个简单的例子:
在处理过程中,我可以通过输入
在草图中的某处创建一个点point(30, 30);
point(20, 20);
等等。我想要实现的是将这些函数包装到我自己的类中,例如
class Point {
float xPos;
float yPos;
Point(float x, float y) {
xPos = x;
yPos = y;
point(x, y);
}
}
Point p = new Point(10,10);
这可能听起来很愚蠢,但这样我可以更好地使用面向对象的方法。
我现在的问题如下:让我说我建立了几十个这样的课程并希望在图书馆中使用它们,以便学生可以简单地使用
import myLibrary:
Point P = new Point(10, 10);
我该怎么做?我知道官方网站上有一个教程,它显示了在Eclipse中创建一个简单的库,但是我不能在Java中使用任何处理函数,可以吗?我想我的点类的构造函数不会因此而起作用。
我感谢任何帮助
rikojir
答案 0 :(得分:1)
如果要将类包装为Processing Java库,则应遵循Processing Library Template存储库中的说明。
与您正常编译Java库的方式相比,它有点冗长,但如果您计划将它与Processing的贡献管理器一起使用,那么这就是您的选择。
如果您只想进行快速测试,请将其保持脱机/手动安装,请按照典型的java说明编译.jar。 (Eclipse使这更容易)。 请记住,您仍然需要遵循处理库设置:
~/Documents/Processing/libraries/YourAwesomeLibrary/library/YourAwesomeLibrary.jar
)答案 1 :(得分:1)
我知道官方网站上有一个教程,它显示了在Eclipse中创建一个简单的库,但是我不能在Java中使用任何处理函数,是吗?
当然可以。阅读this tutorial以及George的回答,了解如何做到这一点的指南。基本上,您可以将Processing用作Java库,这样您就可以使用Java访问Processing的类和函数。您可以用Java编写库,将其导出为.jar
文件,然后使用George的答案或将.jar
文件直接拖到Processing editor上将其添加到Processing sketch中。
我想我的点类的构造函数不会起作用。
您必须将Processing草图的实例传递给Point
构造函数,并使用它来访问Processing的函数。像这样:
class Point {
float xPos;
float yPos;
PApplet sketch;
Point(float x, float y, PApplet sketch) {
xPos = x;
yPos = y;
this.sketch = sketch;
}
void drawMe(){
sketch.point(xPos, yPos);
}
}
然后在草图中,您将使用this
关键字传递对库代码的自引用:
Point p = new Point(10, 10, this);
p.drawMe();
您也可以考虑为Point
类使用单独的标签而不是整个外部库。
答案 2 :(得分:0)
你可以实现它只需要创建一个jar文件但是在创建jar文件之前不要忘记将所有类添加到单个包中org,在创建jar文件之后你可以添加它到你的类路径,你可以使用它。 如果您使用的是ecllipse,那么请查看here如何在其中使用您的jar文件。