Java Comparison

From Processing

Jump to: navigation, search

The Processing environment is written in Java. Programs written in Processing are also translated to Java and then run as Java programs. Programs written in Java and Processing will usually run faster than programs based on scripting languages like ActionScript and Lingo, which is important for many graphics applications.

Large distinctions between Processing and Java are the Processing graphics library and a simplified programming style that doesn't require users to understand more advanced concepts like classes, objects, or animation and double-buffering (while still making them accessible for advanced users). Such technical details must be specifically programmed in Java, but are integrated into Processing, making programs shorter and easier to read.

In the comparison below, Java 1.1 syntax is used for the drawing functions and events because it is most compatible with displaying Java Applets on the web.

Color
Processing Java
background(0); g.setColor(Color.black)
fillRect(0, 0, size.width, size.height);
background(255); g.setColor(Color.white)
fillRect(0, 0, size.width, size.height);
background(255, 204, 0); g.setColor(new Color(255, 204, 0));
fillRect(0, 0, size.width, size.height);
stroke(255);
stroke(0);
g.setColor(Color.white)
g.setColor(Color.black)
stroke(255, 204, 0); g.setColor(new Color(255, 204, 0));
fill(0, 102, 153); g.setColor(new Color(0, 102, 153));
Shape
Processing Java
point(30, 20); g.drawLine(30, 20, 30, 20);
line(0, 20, 80, 20); g.drawLine(30, 20, 80, 20);
rect(10, 20, 30, 30); g.fillRect(10, 20, 30, 30);
g.drawRect(10, 20, 30, 30);
Data
Processing Java
int x = 70; // Initialize
x = 30; // Change value
int x = 70; // Initialize
x = 30; // Change value
float x = 70.0;
x = 30.0;
float x = 70.0f;
x = 30.0f;
int[] a = {5, 10, 11};
a[0] = 12; // Reassign
int[] a = {5, 10, 11};
a[0] = 12; // Reassign
Control
Processing Java
void draw() {
// Statements
}
while (true) {
// Statements
}
for (int a=45; a<=55; a++) {
// Statements
}
for (int a=45; a<=55; a++) {
// Statements
}
if (c==1) {
// Statements
}
if (c==1) {
// Statements
}
if (c!=1) {
// Statements

}
if (c!=1) {
// Statements

}
if (c < 1) {
// Statements
}
if (c < 1) {
// Statements
}
if (c >= 1) {
// Statements
}
if (c >= 1) {
// Statements
}
if ((c >= 1) && (c < 20)) {
// Statements
}
if ((c >= 1) && (c < 20)) {
// Statements
}
if (c >= 20) {
// Statements 1
}
else if (c == 0) {
// Statements 2
} else {
// Statements 3
}
if (c >= 20) {
// Statements 1
}
else if (c == 0) {
// Statements 2
} else {
// Statements 3
}
Structure
Processing Java
// Comment // Comment
void doIt(int x) {
// Statements
}

doIt(x);
public void doIt(int x) {
// Statements
}

doIt(x);
int square(int x) {
return x*x;
}

square(X);
public int square(int x) {
return x*x;
}

square(X);
Input
Processing Java
mouseX
mouseY
/* Assuming there are two variables in the program named mouseX and mouseY, these values must be changed by the programmer in the mouseMoved() and mouseDragged methods. */

public void mouseMoved(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
}

public void mouseDragged(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
}
void mousePressed() {
// Statements
}
public void mousePressed(MouseEvent e) {
// Statements
}
if (key=='a') {
// Statements
}
public void keyPressed(KeyEvent e) {
char key = e.getKeyChar();
if(key == 'a') {
// Statements
}
}
void keyPressed() {
// Statements
}
public void keyPressed(KeyEvent e) {
// Statements
}
Personal tools