0

我目前正在使用 gmf,我想更改连接的颜色。我调试了代码,我看到在设置 createConnectionFigure() 方法后的前景色, AbstractGraphicalEditPart 类中的 refresh() 方法覆盖了这种颜色。有什么特别的方法可以改变颜色吗?我还想为链接的源和目标装饰创建一个圆圈。我知道我必须扩展 Polyline 类,但我对其余部分一无所知。你知道任何可用的例子吗?

4

1 回答 1

1

更改图形颜色的首选方法是通过符号模型(视图)。

创建边缘视图时,您可以在边缘符号中设置边缘的线条颜色。

Connector edge = NotationFactory.eINSTANCE.createConnector();
ViewUtil.setStructuralFeatureValue(edge,NotationPackage.eINSTANCE.getLineStyle_LineColor(),new RGB(0,0,0));

如果您使用 GMF 工具创建了 GMF 编辑器插件,则会有一个 ViewProvider 类。在那里,他们将拥有创造优势的方法。你可以在那里改变它。

或者

在 PreferenceStore 中设置颜色。

或者

在最坏的情况下,您可以覆盖 ConnectionEditPart 中的 refreshForegroundColor() 并设置您自己的颜色。然而,这种方法的缺点是,您无法通过 UI 更改颜色。

至于装饰,在你的连接图中,可以通过 setSourceDecoration & setTargetDecoration 设置装饰

例如:connection.setSourceDecoration(new org.eclipse.draw2d.PolylineDecoration());

于 2012-09-08T23:41:03.873 回答