0

在draw2d中,如何绘制没有边框的图形?如何为矩形实现 CustomBorder 以去除边框?我知道如果我们实现一个扩展边框的类,在paint方法中我应该怎么做才能删除边框?

4

2 回答 2

2

图形没有边框,除非您通过调用setBorder(..). 如果您只想要一个不绘制任何内容的空白图形,那么new Figure()就会给您。无需实现任何自定义边框或图形。如果您使用的是 aRectangle那么这正是您将得到的:一个矩形;这可能是您对边界感到困惑的地方。

于 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 回答