0

draw2dで、境界線なしで図形を描画するにはどうすればよいですか?長方形のCustomBorderを実装して境界線を削除するにはどうすればよいですか?Borderを拡張するクラスを実装するかどうかはわかっていますが、paintメソッドで境界線を削除するにはどうすればよいですか?

4

2 に答える 2

2

を呼び出して明示的に設定しない限り、図には境界線がありませんsetBorder(..)。何も描かない空白の図が必要な場合は、それnew Figure()だけが表示されます。カスタムの境界線や図を実装する必要はありません。を使用している場合は、Rectangleまさにそれが得られます。長方形。これはおそらくあなたが国境のために混乱させたものです。

于 2012-05-21T07:34:39.253 に答える
1

で境界線を無効にするfigure.setBorder(null);か、コンストラクターに配置できます。

public static  class BorderlessFigure extends Figure {
    public BorderlessFigure() {
        ToolbarLayout layout = new ToolbarLayout();
        setLayoutManager(layout);   
        setBorder(null);
        add(new Label("test"));  
    }
}

何もペイントしないボーダーが必要な場合は、拡張できますorg.eclipse.draw2d.AbstractBorder

public class NoBorderBorder extends AbstractBorder {
    @Override
    public void paint(IFigure f, Graphics g, Insets i) { }

    @Override
    public Insets getInsets(IFigure f) {
        return new Insets(0);
    }
}

なんでそんなことするのかわからないけど。

于 2012-05-20T18:30:39.850 に答える