java - 在Processing中编写一个小型库

标签 java object processing

我想要执行以下操作,但不知道如何完成,也许有人可以提供帮助:

我想在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 中的任何处理函数,可以吗?我想我的点类构造函数因此而无法工作。

感谢您的帮助

里科吉尔

最佳答案

I know that there's a tutorial on the official site which shows the creation of a simple library in Eclipse, but I can't use any processing functions in Java, can I?

当然可以。阅读 this tutorial以及乔治的回答,获取有关如何做到这一点的指南。基本上,您可以将Processing 用作Java 库,它使您可以访问Java 中的Processing 类和函数。您可以用 Java 编写库,将其导出为 .jar 文件,然后使用 George 的答案或通过拖动 .jar 文件将其添加到您的处理草图中直接进入您的处理编辑器。

I guess my constructor of the point class wouldn't work because of that.

您必须将Processing sketch 的实例传递给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 类使用单独的选项卡,而不是整个外部库。

关于java - 在Processing中编写一个小型库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43066576/

相关文章:

javascript - 如何将对象插入为面板项目

java - 处理中每个对象的 mouseEventListener

java - 我的牛顿 Gradle 代码不起作用。我该如何解决?

java - 使用文件对象创建文件?

java - PayPal 的未知主机异常

java - 使用 .setPaint(gradient) 调整大小时不重绘

javascript - 预定义函数 display() 时如何覆盖效果并更改数组每个元素中的效果

java - 依附AVTransport : UPnP specification violation

javascript - 将选定的单词计数到 JS 中的新对象中

Java:自定义对象引用数组