package tp_gui.rectangle; public class Rectangle { /* * Attributs du Rectangle */ Point centre; private double longueur, hauteur; private double surface, perimetre; String nom; public static int nb = 0; /* * Constructeurs */ public Rectangle(){ centre = new Point(50,50); longueur = 60; hauteur = 40; calculerPerimetre(); calculerSurface(); nb++; nom = "Rect"+String.valueOf(nb); } public Rectangle(int longueur, int hauteur, String nom){ centre = new Point(50,50); this.longueur = longueur; this.hauteur = hauteur; calculerPerimetre(); calculerSurface(); nb++; this.nom = nom; } public Rectangle(int x, int y, int longueur, int hauteur){ centre = new Point(x,y); this.longueur = longueur; this.hauteur = hauteur; calculerPerimetre(); calculerSurface(); nb++; this.nom = "Rect"+String.valueOf(nb); } public Rectangle(int x, int y, int longueur, int hauteur, String nom){ centre = new Point(x,y); this.longueur = longueur; this.hauteur = hauteur; calculerPerimetre(); calculerSurface(); nb++; this.nom = nom; } public Rectangle(Rectangle r){ centre = new Point(r.centre); this.longueur = r.longueur; this.hauteur = r.hauteur; calculerPerimetre(); calculerSurface(); nb++; this.nom = new String(r.nom); } /* * Méthodes du Rectangle */ private void calculerSurface(){ surface = longueur * hauteur; } private void calculerPerimetre(){ perimetre = (longueur + hauteur)*2; } public double getLongueur() { return longueur; } public void setNom(String n) { nom = n; } public void setLongueur(int longueur) throws LongueurException{ if(longueur < 0) { throw new LongueurException(); }else { this.longueur = longueur; calculerPerimetre(); calculerSurface(); } } public double getHauteur() { return hauteur; } public void setHauteur(int hauteur) { this.hauteur = hauteur; calculerPerimetre(); calculerSurface(); } public double getSurface() { return surface; } public double getPerimetre() { return perimetre; } void deplacer(int dX, int dY){ centre.deplacer(dX, dY); } public String toString() { return nom+"(" +centre.x+","+centre.y+") : " +getLongueur()+" - "+getHauteur(); } void afficher() { System.out.print("Le rectangle "+nom); System.out.print(" est positionné en ("+centre.x+","+centre.y+")"); System.out.print(", a une longueur de "+longueur); System.out.println(" et une hauteur de "+hauteur); } }