Bonjour,
j'aimerai pouvoir modifier les coordonnées (x,y) d'un Area pour pouvoir le faire correspondre à un autre shape

Mon area est composer de plusieurs lignes (Collection)
L'assemblage des lignes, correspond dans mon appli à un objet

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
 
	  /**
           * Returns an area matching the union of all <code>lines</code> to do the shapes. 
           */
	  public Area getGraphicEquipmentArea() {
		  Area graphicEquipmentArea = new Area();
		  for (EquipmentLine equipmentLine : this.equipmentLines) {
			  graphicEquipmentArea.add(new Area(getShape(equipmentLine.getPoints())));			  
		  }
		  return graphicEquipmentArea;
	  }
 
	  /**
           * Création d'un chemin qui relie le premier
           * point au autres point.
           */
	  private Shape getShape(float [][] points) {
		GeneralPath path = new GeneralPath();
		path.moveTo(points [0][0], points [0][1]);
	    for (int i = 1; i < points.length; i++) {
	    	path.lineTo(points [i][0], points [i][1]);
	    }
	    path.closePath();//fermeture du chemin
	    return path;
	  }
Voici ma méthode pour renvoyer les coordonnées d'une ligne qui compose mon équipement
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
65
66
67
68
69
70
71
72
73
 
  /**
   * Renvoie les coordonées des quatres points
   *  décrivant le contour de ce trait
   * @return an array of the 4 (x,y) coordinates of the wall corners.
   */
  public float [][] getPoints() {
	  if (this.pointsCache == null) {
		  //Calcul des points du contour du rectangle de ce trait
		  float [][] linePoints = getRectanglePoints();
		  float limit = 2 * this.thickness;
		  // Si le trait est joint à son extremité de départ 
		  // à un autre trait lineAtStart.... 
		  if (this.lineAtStart != null) {
			  float [][] lineAtStartPoints = this.lineAtStart.getRectanglePoints();
			  // Si le trait lineAtStart est joint à ce trait 
			  // à son extremité de fin....
			  if (this.lineAtStart.getEquipmentLineAtEnd() == this) {
				  //....calcul de l'intersection POi de la ligne
				  //(P0,P1) du trait avec la ligne(P1,P0) du trait
				  // lineAtStart, et de l'intersection P3i de la ligne
				  //(P3,P2) de cetrait avec la ligne (P2,P3)
				  //du trait lineAtStart...
				  computeIntersection(linePoints [0], linePoints [1], 
						  lineAtStartPoints [1], lineAtStartPoints [0], limit);
				  computeIntersection(linePoints [3], linePoints [2],  
						  lineAtStartPoints [2], lineAtStartPoints [3], limit);
				  //...si le trait lineAtStart est joint à ce trait
				  //à son extrémité de départ, faire le m^me calcul
				  //en inversant les points P0,P1,P2,P3 du trait lineAtStart
			  } else if (this.lineAtStart.getEquipmentLineAtStart() == this) {
				  computeIntersection(linePoints [0], linePoints [1], 
						  lineAtStartPoints [2], lineAtStartPoints [3], limit);
				  computeIntersection(linePoints [3], linePoints [2],  
						  lineAtStartPoints [0], lineAtStartPoints [1], limit);
			  }
		  }  
		  // Si le trait à son extremité de fin à un autre
		  //trait lineAtEnd...
		  if (this.lineAtEnd != null) {
			  float [][] lineAtEndPoints = this.lineAtEnd.getRectanglePoints();
			  //Si le trait lineAtEnd est joint à ce trait
			  //à son extrémité de départ...
			  if (lineAtEnd.getEquipmentLineAtStart() == this) {
				  //....calcul de l'intersection P1i de la ligne
				  //(P1,P0) du trait avec la ligne(P0,P1) du trait
				  // lineAtEnd, et de l'intersection P2i de la ligne
				  //(P2,P3) de cetrait avec la ligne (P3,P2)
				  //du trait lineAtEnd...
				  computeIntersection(linePoints [1], linePoints [0], 
						  lineAtEndPoints [0], lineAtEndPoints [1], limit);
				  computeIntersection(linePoints [2], linePoints [3], 
						  lineAtEndPoints [3], lineAtEndPoints [2], limit);
				  //...si le trait lineAtEnd est joint à ce trait
				  //à son extrémité de fin, faire le même calcul
				  //en inversant les points P0,P1,P2,P3 du trait lineAtEnd
			  } else if (lineAtEnd.getEquipmentLineAtEnd() == this) {
				  computeIntersection(linePoints [1], linePoints [0],  
						  lineAtEndPoints [3], lineAtEndPoints [2], limit);
				  computeIntersection(linePoints [2], linePoints [3], 
						  lineAtEndPoints [0], lineAtEndPoints [1], limit);
			  }
		  }
	      // Cache shape
	      this.pointsCache = linePoints;
	  }
 
	    return new float [][] {
	            {this.pointsCache [0][0], this.pointsCache [0][1]},
	            {this.pointsCache [1][0], this.pointsCache [1][1]},
	            {this.pointsCache [2][0], this.pointsCache [2][1]},
	            {this.pointsCache [3][0], this.pointsCache [3][1]}};
  }
Y a til une méthode pour modifier les coordonnées (x,y) de mon area
après sa création pour pouvoir le faire correspondre à mon autre shape (de même width et height)? en gros j'aimerai supperposer mon area à mon shape
merci pour votre aide