0

GEF形状の例では、接続には2つのタイプがあり、線のスタイルのみ(int Graphics.LINE_DASHまたはint Graphics.LINE_SOLID)が異なります。

次に、そのうちの1つのTargetDecorationを変更します(または、に設定しnullます)。どうすればよいですか?

以下の方法で試しましたifが(以下はオリジナルです)、効果がありませんでした。私if (getCastedModel().getLineStyle() != Graphics.LINE_DASH) connections.setTargetDecoration(null)は彼をそのままにしてみました。

protected IFigure createFigure() {
    PolylineConnection connection = (PolylineConnection) super
            .createFigure();
    connection.setTargetDecoration(new PolygonDecoration()); // arrow at
                                                                // target
                                                                // endpoint
    connection.setLineStyle(getCastedModel().getLineStyle()); // line

                                                                // style
    return connection;
}

ありがとう!

4

1 に答える 1

0

次のコードが機能しました(戻る前に最後の2行を変更しました)。

protected IFigure createFigure() {
    PolylineConnection connection = (PolylineConnection) super.createFigure();
    connection.setTargetDecoration(new PolygonDecoration()); 
    connection.setLineStyle(getCastedModel().getLineStyle()); 
    if(getCastedModel().getLineStyle() == Graphics.LINE_DASH) {
        connection.setTargetDecoration(null);
    }
    return connection;
}

結果は次のとおりです。

ここに画像の説明を入力してください

これがうまくいかなかったのは不思議です...

于 2012-03-20T13:40:16.527 に答える