2012-01-23 1 views
0

Я работаю над перетаскиванием многоугольника, а также изменением размера полигона. Я могу рисовать прямоугольник, используя org.eclipse.draw2d.RectangleFigure, и я могу перетащить его, я добавил MouseMotionListener и MouseListener в org.eclipse.draw2d.RectangleFigure.Как перетаскивать и изменять размер многоугольника в Draw2d из Eclipse org.eclipse.draw2d.Polygon

но

при попытке же самое для Polygon. это не работает. mouseDragged event вызывается, когда я пытаюсь перетащить многоугольник, но он не перемещается.

ответ

0

Если вы используете org.eclipse.draw2d.PolygonShape вместо org.eclipse.draw2d.Polygon, он должен работать так, как вы ожидаете.

+0

Да, это работает. но многоугольник не является полным. вот код для установки точек. хотя я добавляю 4 очка. он рисует всего 3 строки. В полигоне отсутствует 4-я строка. poly.setStart (новый пункт (609, 163)); poly.addPoint (новая точка (562, 249)); poly.addPoint (новая точка (684, 244)); poly.addPoint (новая точка (696, 144)); – javafan

+0

Похоже, вы используете 'PolylineShape', который ведет себя иначе, чем' PolygonShape' в этом отношении. Либо используйте «PolygonShape», либо добавьте свою начальную точку также как конечную точку в вашей «PolylineShape». – p12t

+0

Спасибо. это фиксировано. Следующая вещь, которую я не могу сделать, это: если я использую PolygonShape, я тоже должен давать оценки. для Polygon нет необходимости устанавливатьBounds. Но Polygon не может быть перемещен или изменен. PolygonShape можно перемещать или изменять размер. – javafan

Смежные вопросы