Applet : dessiner en JAVA

première applet

Source de Prog11.java
import java.awt.Graphics ;
import java.applet.Applet;
public class Prog11 
       extends Applet {
  public void paint(Graphics g) {
    g.drawLine(10, 30, 200, 30);
    g.drawRect(20, 40, 100, 50);
    g.drawOval(140, 40, 50, 50);
    g.drawString("texte", 10, 120);
  }
}

Source de Prog11.html
<html>
  <head>
    <title>applet Prog11</title>
  </head>
  <body>
    <applet code="Prog11.class" width=400 height=300>
    </applet>
  </body>
</html>

seconde applet

Source de Prog12.java
import java.awt.Graphics;
import java.awt.Color;
import java.applet.Applet;
public class Prog12 
             extends Applet {
  public void init() {
    setSize(220,120);
    setForeground(Color.red);
    setBackground(Color.white);   
  }
  public void paint(Graphics g) {
    g.drawLine(10, 30, 200, 30);
    g.fillRect(20, 40, 100, 50);
    g.setColor(Color.blue);
    g.drawOval(140, 40, 50, 50);
    g.drawString("texte dessine", 10, 60);
    g.setColor(Color.white);
    g.drawLine(50, 50, 51, 51);
    g.drawLine(50, 55, 50, 55);
  }
}

Applet

affichage de treillis

Source de Prog13.java et EXECUTION
import java.awt.Graphics;
import java.applet.Applet;
public class Prog13 extends Applet {
  public void paint(Graphics g) {
    int x, y, t, i;
    x=30;
    y=40;
    t=140;
    for (i=0; i<=t; i+=5)
      g.drawLine(x, y+i, x+i, y+t);
  }
}

affichage de fonction

Source de Prog14.java
import java.awt.Graphics;
import java.applet.Applet;
public class Prog14 extends Applet {
  public void init() {
    setSize(200,100);
  }
  public void paint(Graphics g) {
    double xMax, yMax;
    int x;
    x = 0 ;
    xMax = getSize().width;
    yMax = getSize().height;
    while ( x < xMax) {
      g.drawLine(x, (int)(f(x)*yMax/2), 
            x+1, (int)(f(x+1)*yMax/2));
      x = x+1;
    } 
  }
  public double f(double x) {
    double y;
    y = Math.cos(x/10)+1;
    if (y > 1.7)
      y = 1.7;
    return y;
  }
}

tracé de points d'un tableau

Source de Prog16.java
import java.awt.Graphics;
import java.applet.Applet;
public class Prog16 extends Applet {
  int points [], nbre;
  final int hauteur = 100;
  public void init() {
    int i; 
    System.out.println("nombre de points ?");
    nbre = Clavier.lireInt(); 
    points = new int[nbre];
    i = 0; 
    while (i < nbre) {
      System.out.println("donnez un point "
                  + "entre 0 et " + hauteur);
      points[i] = Clavier.lireInt();
      i = i+1;
    }
    setSize((nbre+1)*10,hauteur);
  }
  public void paint(Graphics g) {
    int x;
    x=0;
    while (x <nbre-1) {
      g.drawLine(10*(x+1), points[x], 
                 10*(x+2), points[x+1]);
      x=x+1;
    }
  }
}

dessiner l'objet Rectangle5

Source de Rectangle5.java
import java.awt.Graphics;
public class Rectangle5 {
  double x, y, largeur, hauteur;
  Rectangle5(double valX, double valY,
             double valL, double valH) {
    x = valX; 
    y = valY; 
    largeur = valL;
    hauteur = valH;   
  }
  void dessiner(Graphics g) {
    g.drawRect((int)x, (int)y, 
            (int)largeur, (int)hauteur);
  }
}

Source de Prog31.java
import java.awt.Graphics;
import java.applet.Applet;
public class Prog31 extends Applet {
  public void paint(Graphics g) {
    Rectangle5 r1, r2; 
    r1 = new Rectangle5(30,30,50,50);
    r2 = new Rectangle5(100,100,60,60);
    r1.dessiner(g);
    r2.dessiner(g);
  }
}

applet avec plusieurs objets à dessiner

Source de Prog34.java
import java.awt.Graphics;
import java.applet.Applet;
public class Prog34 extends Applet {
  Rectangle5 aDessiner [];
  int nbre;
  public void init() {
    int i, x, y, l, h; 
    System.out.println("nombre de rectangle ?");
    nbre = Clavier.lireInt(); 
    aDessiner = new Rectangle5[nbre];
    for (i=0; i<nbre; ++i) {
      System.out.println("donnez les coordonnes"
         + " x y largeur hauteur du rectangle");
      x = Clavier.lireInt();
      y = Clavier.lireInt();
      l = Clavier.lireInt();
      h = Clavier.lireInt();
      aDessiner[i] = new Rectangle5(x,y,l,h);
    }
  }
  public void paint(Graphics g) {
    for (int i=0; i<nbre; ++i) 
      aDessiner[i].dessiner(g);
  }
}

exercices