0
我正在嘗試使用Zest eclipse創建流程圖。 爲了創建圖形我使用graphViewer。 對於我需要自定義形狀的節點。 爲了實現我在graphViewer的labelProvider中實現了IFigureProvider。Eclipse插件 - 如何使用多邊形創建菱形圖形(或通過直接實現IFigure)多邊形
但我沒有得到如何創建用於表示決策節點的菱形圖形。
Graphiti是做這類事情的更好方式嗎?
我正在嘗試使用Zest eclipse創建流程圖。 爲了創建圖形我使用graphViewer。 對於我需要自定義形狀的節點。 爲了實現我在graphViewer的labelProvider中實現了IFigureProvider。Eclipse插件 - 如何使用多邊形創建菱形圖形(或通過直接實現IFigure)多邊形
但我沒有得到如何創建用於表示決策節點的菱形圖形。
Graphiti是做這類事情的更好方式嗎?
通過如下的重寫paintFigure方法繪製多邊形擴展圖類,創建一個自定義的人物類:
@Override
protected void paintFigure(Graphics g) {
super.paintFigure(g);
Rectangle r = getClientArea();
g.setAntialias(SWT.ON);
g.setLineWidthFloat(2.0f);
g.setBackgroundColor(ColorConstants.black);
PointList diamondPointList=new PointList();
diamondPointList.addPoint(r.x()+r.width()/2, r.y());
diamondPointList.addPoint(r.x()+r.width(), r.y()+r.height()/2);
diamondPointList.addPoint(r.x()+r.width()/2, r.y()+r.height());
diamondPointList.addPoint(r.x(), r.y()+r.height()/2);
g.drawPolygon(diamondPointList);
g.drawLine(r.x()+r.width()/2, (r.y()+r.height()/2)-10, r.x()+r.width()/2, (r.y()+r.height()/2)+10);
g.drawLine((r.x()+r.width()/2)-10, r.y()+r.height()/2, (r.x()+r.width()/2)+10, r.y()+r.height()/2);
}
如果有更好的方法,那麼請張貼。 – Raja 2014-11-12 10:47:36