在draw2d中,如何绘制没有边框的图形?如何为矩形实现 CustomBorder 以去除边框?我知道如果我们实现一个扩展边框的类,在paint方法中我应该怎么做才能删除边框?
问问题
1500 次
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 回答