Bonjour ,
Je souhaiterai faire une classe me permettant en appuyant sur un bouton de générer aléatoirement dans un applet un objet (exemple un carré)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
				/** Un rectangle est caractérise par sa largeur et sa hauteur
                *   la largeur et la hauteur sont des entiers positifs 
                *  @author 
                *  
                */
import java.awt.Color;
import java.awt.Graphics; 		
public class Rectangle {
	private int nombre=0;	
	private double largeur, hauteur ;
	    private float x ; // abcisse du coté du rectangle
	    private float y ; // ordonnee du coté du rectangle
		public Maclasse(){this((float)(Math.random())*500,(float)(Math.random())*500,5,5);}
	    public Rectangle (float xInit, float yInit, double l, double h){this.largeur=l;this.hauteur=h;this.x=xInit;this.y=yInit; }
 
	    /** Obtenir le nombre  de Rectangle
                *   @return le nombre de pierre */
	  public int getNombre(){return this.nombre;}
	/** fixer le nombre de Rectangle
        *   @param Nombre de Rectangle */
	  public void setNombre(int a){this.nombre=a;}
	/** Obtenir l'ordonnée  du Rectangle
        *   @return l'ordonnée du coté en haut a gauche */
 
	    /** Obtenir l'abscisse  du Rectangle
                *   @return l'abscisse du coté en haut a gauche */
	  public double getX(){return this.x;}
	/** fixer l'abscisse  du Rectangle
        *   @param l'abscisse du coté en haut a gauche */
	  public void setX(float a){this.x=a;}
	/** Obtenir l'ordonnée  du Rectangle
        *   @return l'ordonnée du coté en haut a gauche */
	  public double getY(){return this.y;}
/** fixer l'ordonnée  du Rectangle
*   @param l'ordonneé du coté en haut a gauche */
	  public void setY(float a){this.y=a;}
 
	    /** Obtenir la largeur du Rectangle
                        *   @return la largeur */
		public double getLargeur(){return this.largeur;}
 
			/** Obtenir la hauteur du Rectangle
                        *   @return la hauteur */
		public double getHauteur(){return this.hauteur;}
 
			/** fixer la largeur du Rectangle
                        *   @param la largeur */
			public void setLargeur(double l){this.largeur=l;}
 
			/** fixer la hauteur du Rectangle
                        *   @param la hauteur */
		public void setHauteur(double h){this.hauteur=h;}
 
		public double surface(){return this.hauteur*this.largeur;}
 
 
			/** Dessiner autant de d'objet sur le terrain que voulu */
		//public void Terrain(Color c,){for(int i=0 ; i<this.nombre ; i++) }
 
		public void dessiner(Graphics g, Color c){
	         g.setColor(c);
	         for(int i=0;i<nombre;i++){g.drawRect((int)Math.random(), (int)Math.random(), (int)this.getLargeur(), (int)this.getHauteur());
	     this.dessiner(g, c);}
			} }

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
	import java.applet.Applet;
import java.awt.*;
 
import java.applet.Applet;
import java.awt.*;
import java.awt.event.* ;
 
public class TestRectangle extends Applet implements ActionListener {         private Button +Rectangle = new Button("+ Rectangle") ;
  Rectangle Rect1=new Rectangle();
 
   public void init(){
      this.add(+Rectangle);
      +Rectangle.addActionListener(this);
}
 
 
 
 
   public void actionPerformed(ActionEvent e){
      if(e.getActionCommand() == "+ Rectangle"){( rect1.setNombre(rect1.getNombre()+1) ; repaint();}
      }
 
   public void paint(Graphics g) {  
      g.drawRect(5,5,Cercle.xMax-5,Cercle.yMax-5)
 
      pierre.dessiner(g, Color.ORANGE);
   }
 
 
 
 
	}
Le mieux serait de mettre des rectangles dans un tableau si cela est possible ? (un tableau a plusieurs dimensions)
Merci d'avance de votre aide
Et j'ai une erreur de compilation sur rect1.setNombre(rect1.getNombre()+1) ; repaint();}
pourquoi cela est il faux ?