我从 http://processing.org 下载了处理。如何在我的 Java 应用程序中使用处理?我想要根据 Java 应用程序中的逻辑绘制内容。为了避免在 Java 中绘图,我想使用处理来代替。
小菜一碟,
首先,
在您的 IDE(例如 Netbeans)中,首先将处理 jar 包含在您的构建中,并将其放在您的程序可以找到的地方。例如,如果您使用 Maven,只需添加依赖项:
<dependency>
<groupId>org.processing</groupId>
<artifactId>org.processing.core</artifactId>
<version>2.1.1</version>
</dependency>
第二,
向您的程序添加一个主类,这可能非常简单。您只需要引用您的代码所在的类:
public class Application {
public static void main(String[] args) {
new Application();
}
public Application() {
init();
}
private void init() {
Visualization.main("me.qcarver.ballsack.Visualization");
}
}
最后,
使用上面引号中给出的包名称添加新类。唯一要记住的是这个类必须(1)导入processing.core.PApplet(2)扩展PApplet(3)实现public void draw和public void setup
例如:
package me.qcarver.ballsack
public class Visualization extends PApplet{
public void setup() {
size(500,400);
background(grayValue);
}
public void draw(){
elipse(200,200,50,50);
}
}
上面的代码片段基于这个 示例项目,它在 java 应用程序中运行Processing.org 代码。
如果有人对早期的代码示例和最新的处理库有疑问 - 我已经更新了 v3.2.1 并上传了工作代码:
https://github.com/thomasbratt/ProcessingInIntellij
package com.github.thomasbratt.processingtest;
import processing.core.PApplet;
public class Visualization extends PApplet {
public static void main(String[] args) {
PApplet.main("com.github.thomasbratt.processingtest.Visualization");
}
@Override
public void settings() {
size(640, 480);
}
@Override
public void setup() {
fill(120,50,240);
}
@Override
public void draw(){
ellipse(width/2,height/2,second(),second());
}
}
pom.xml:
<dependency>
<groupId>org.processing</groupId>
<artifactId>core</artifactId>
<version>3.2.1</version>
</dependency>
事实证明,当您在
core/library
中下载Processing时,就会有Core.jar。如果您将其添加到您的类路径中,您就可以做到。这是一个骨架供您使用:
package com.company;
import processing.core.PApplet;
/* "Main" can be anything */
public class Main
// Enable Processing features here
extends PApplet {
public static void main(String[] args) {
// Run the app
PApplet.main("com.company.Main");
}
// This actualy would be setup() in Processing IDE
public void settings() {
size(500,400);
}
public void draw() {
// All Processing functions and constants can be used here
ellipse(200,200,50,50);
}
}
如果你想使用像
mouseClicked
这样的处理函数,请在类中使用这个骨架:
public void RANDOM_PROCESSING_FUNCTION() {
// Stuff you want to do
}
我建议你学习如何用 Java 进行绘图,例如: http://docs.oracle.com/javase/tutorial/2d/ 在 Java 中使用处理并不会让事情变得简单。