如何将多边形复制到新位置。我使用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();
}
答案 0 :(得分:1)
您可以从旧多边形构建一个新多边形,然后将该多边形移动到新位置
Polygon newPolygon = new Polygon(oldPolygon.xpoints, oldPolygon.ypoints, oldPolygon.npoints);
newPolygon.translate(newXPos, newYPos);
您的代码无效,因为该行
copyPolygon = selectedTriangle;
不制作selectedTriangle的副本,它只是使copyPolygon指向同一个对象。所以你需要构造一个与原始多边形相同的新多边形,这就是我建议的第一行。