Comment copier un polygone dans un nouvel emplacement. J'utilise e.isPopupTrigger()
pour sélectionner le polygone, mais je ne sais pas comment le copier. La fonction de copie est-elle similaire à la fonction de traduire? par exemple. polygon.translate (x, y)?Copie d'un polygone dans un nouvel emplacement
Merci.
ÉDITÉE:
// ce travail ne marche pas :-(Code
if(e.getSource() == Copy){
Polygon copyPolygon = new Polygon();
copyPolygon = selectedTriangle;
copyPolygon.translate(2, 2);
repaint();
}
Le problème a été résolu avec ces codes :-)
if(e.getSource() == Copy){
Polygon copyPolygon = new Polygon(selectedTriangle.xpoints,selectedTriangle.ypoints,selectedTriangle.npoints);
copyPolygon.translate(10,10);
triangles.add(copyPolygon);
repaint();
}
Aussi '= new Polygon();' est redondant étant donné la ligne suivante. Il n'est pas nécessaire de créer un nouveau polygone avant de cloner l'original. –
J'ai essayé de changer le code mais je reçois toujours cette erreur: La méthode clone() dans l'objet type n'est pas visible. – Jessy
Ah, mon erreur, Polygon n'est pas réellement clonable. Il vous donne cette erreur car clone est un membre protégé de l'objet, et n'est pas surchargé par une fonction dans Polygon. Dans ce cas, allez avec ma première suggestion qui devrait faire un nouveau polygone avec les mêmes points que l'ancien. –