Как скопировать многоугольник в новое место. Я использую e.isPopupTrigger()
, чтобы выбрать полигон, но я не знаю, как его скопировать. Является ли функция копирования аналогичной функции перевода? , например. polygon.translate (х, у)?Скопируйте многоугольник в новое место
Спасибо.
Редакция:
// этот код не работает :-(
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();' является избыточным с учетом следующей строки. Перед клонированием оригинала нет необходимости создавать новый многоугольник. –
Я попытался изменить код, но я продолжаю получать эту ошибку: метод clone() в объекте типа не отображается. – Jessy
Ах, моя ошибка, Polygon на самом деле не клонируется. Это дает вам эту ошибку, поскольку клон является защищенным членом объекта и не переопределяется некоторой функцией в Polygon. В этом случае пойдите с моим первым предложением, которое должно создать новый многоугольник с теми же точками, что и старый. –