我在GEF中实现了画带多个折点的polyline,现在的问题是:当我选中该polyline时,那个Handle为一个矩形(由8个可拖拉的黑点组成),现在我希望,这些点能分布在polyline的拐点上,这样,我就可以通过拖拉这些点,来改变我的polyline,请问该如何实现?
网上有朋友写了如下函数
1 protected List<ResizeHandle> createSelectionHandles() {
2 List<ResizeHandle> list = new ArrayList<ResizeHandle>();
3 List<Point> points=((GraphicsPolyline)getHost().getModel()).getPointsList();
4 for(int i=0;i<points.size();i++)
5 {
6 Figure moveHandleRef=new Figure();
7 moveHandleRef.setSize(7, 7);
8 moveHandleRef.setLocation(new Point(points.get(i).x-2,points.get(i).y-2));
9 MoveHandleLocator mhl=new MoveHandleLocator(moveHandleRef);
10 list.add(new ResizeHandle((GraphicalEditPart) getHost(),mhl,null));
11 }
12 return list;
13 }