如何将多边形复制到新位置。我使用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();
}
最佳答案
您可以从旧的多边形构造一个新的多边形,然后将其移动到新位置
Polygon newPolygon = new Polygon(oldPolygon.xpoints, oldPolygon.ypoints, oldPolygon.npoints);
newPolygon.translate(newXPos, newYPos);
您的代码无效,因为该行
copyPolygon = selectedTriangle;
不制作selectedTriangle的副本,它只是使copyPolygon指向同一对象。因此,您需要构造一个与原始多边形相同的新多边形,这就是我建议中的第一行。
关于java - 将多边形复制到新位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1527653/