0

如何将多边形复制到新位置。我e.isPopupTrigger()用来选择多边形,但我不知道如何复制它。复制的功能和翻译的功能类似吗?例如polygon.translate(x,y)?

谢谢。

编辑:

//这段代码不起作用:-(

if(e.getSource() == Copy){  
  Polygon copyPolygon = new Polygon();
  copyPolygon = selectedTriangle;
  copyPolygon.translate(2, 2);
  repaint();
}

这些代码已经解决了这个问题:-)

if(e.getSource() == Copy){    
  Polygon copyPolygon = new Polygon(selectedTriangle.xpoints,selectedTriangle.ypoints,selectedTriangle.npoints);
  copyPolygon.translate(10,10);
  triangles.add(copyPolygon);
  repaint();
}           
4

1 回答 1

1

您可以从旧多边形构造一个新多边形,然后将该多边形移动到新位置

Polygon newPolygon = new Polygon(oldPolygon.xpoints, oldPolygon.ypoints, oldPolygon.npoints);
newPolygon.translate(newXPos, newYPos);

您的代码不起作用,因为该行

copyPolygon = selectedTriangle;

不复制 selectedTriangle,它只是让 copyPolygon 指向同一个对象。因此,您需要构建一个与原始多边形相同的新多边形,这就是我建议的第一行所做的。

于 2009-10-06T19:44:41.033 回答