RektangelTegning.java [Last ned]

/*
 * Programmet leser data om rektangler fra en
 * skilletegnseparert fil. Rektanglene opprettes
 * i en tabell, og tegnes ut på en grafisk flate.
 */
import static java.lang.Integer.*;
import static java.lang.System.*;
import java.io.*;
import java.util.*;
 
public class RektangelTegning extends EasyGraphics {
 
  public static void main(String[] args) {
    launch(args);
  }
 
  public void run() {
    makeWindow("Rektangeltegning", 900, 500);
 
    // Antar at det ikke er flere enn 50
    // rektangler på den aktuelle filen.
    Rektangel[] r = new Rektangel[20];
    int i = 0;
    try {
      String filnavn = "rektangler.txt";
      File fil = new File(filnavn);
      Scanner leser = new Scanner(fil);
 
      while ( leser.hasNextLine() ) {
        String linje = leser.nextLine();
        String[] data = linje.split("#");
        int x = parseInt(data[0]);
        int y = parseInt(data[1]);
        int b = parseInt(data[2]);
        int h = parseInt(data[3]);
        r[i++] = new Rektangel(x,y,b,h);
      }
      leser.close();
      int antRek = i;
 
      for (i=0; i<antRek; i++) {
        int rv = trekk(0,255);
        int gv = trekk(0,255);
        int bv = trekk(0,255);
        setColor(rv,gv,bv);
        fillRectangle(r[i].x,r[i].y,r[i].b,r[i].h);
        pause(50);
      }
    }
    catch ( Exception e) {
      out.println("Problem med filen");
    }
  }
 
  // Trekker et tilfeldig heltall i området: fra-til.
  public static int trekk(int fra, int til) {
    return (int)( Math.random()*(til-fra+1) ) + fra;
  }
 
}
 
Kildekode blir vist ved hjelp av GeSHi.