之前:通过修改线本身的位置的pointList 来实现.为连线增加拐角圆滑修饰.
这样有很多弊端.
后来发现这个方法分享给大家.
outlineShape()是根据线的pointList返回需要绘制线的pointList. 所以我们可以通过重写这个方法在不改变线数据的情况线,改变线的显示样式.
好处:1.不为连线增加额外的位置数据.(简化数据)
2. 不为创建线改变的handle增加负担
3.全局生效.
一下是代码: 限于连线时水平竖直分布的.
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.PolylineConnection;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.PointList;
public class CustomPolylineConnection extends PolylineConnection {
private static final int OFFSET = 2;
@Override
protected void outlineShape(Graphics g) {
PointList points = getPoints();
if (points.size() <= 2) {
super.outlineShape(g);
} else if (points.size() > 2)// 存在拐点的情况
{
PointList shoulderPoints = new PointList();
shoulderPoints.addPoint(points.g