FAQ
 
 
Cover  \ Exhibition  \ Learning  \ Reference  \ Download  \ Discourse   
      Language \ Environment \ Libraries \ Comparison
 
   
 
Index \ Java \ ActionScript \ Lingo \ Python \ Design By Numbers

The Processing environment is written in Java. Programs writen 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.
 
 
  Processing Java
  background(0);

background(255);
g.setColor(Color.black)
fillRect(0, 0, size.width, size.height);

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));
     
 
  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);
     
 
  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
     
 
  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
}
     
 
  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);
     
 
  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
}
 

Processing >> Java 1.1 by REAS, fry










 
  Processing is an open project initiated by Ben Fry and Casey Reas  
  © Info \ Site hosted by Media Temple!