将多边形复制到新位置

时间:2009-10-06 19:38:28

标签: java copy polygon

如何将多边形复制到新位置。我使用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();
}           

1 个答案:

答案 0 :(得分:1)

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

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

您的代码无效,因为该行

copyPolygon = selectedTriangle;

不制作selectedTriangle的副本,它只是使copyPolygon指向同一个对象。所以你需要构造一个与原始多边形相同的新多边形,这就是我建议的第一行。