В draw2d Как рисовать фигуру без границы? Как реализовать CustomBorder для прямоугольников, чтобы удалить границу? Я знаю, если мы реализуем класс, который расширяет границы, а в методе paint - что делать, чтобы удалить границу?прямоугольник без рамки
ответ
Цифры не имеют границы, если вы явно не установили ее, вызвав setBorder(..)
. Если вам просто нужна пустая цифра, которая ничего не рисует, то new Figure()
даст вам именно это. Нет необходимости внедрять какие-либо пользовательские границы или цифры. Если вы используете Rectangle
, то это именно то, что вы получите: прямоугольник; что вы, вероятно, путаете для границы.
Вы можете отключить границу с figure.setBorder(null);
или вы можете поместить его в конструктор:
public static class BorderlessFigure extends Figure {
public BorderlessFigure() {
ToolbarLayout layout = new ToolbarLayout();
setLayoutManager(layout);
setBorder(null);
add(new Label("test"));
}
}
Если вы хотите Border, который ничего не окрасить вы можете продлить 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);
}
}
I не знаю, почему бы вам это сделать.
Привет, Спасибо за предложение. Я пытался таким образом, прежде чем я разместил здесь. Но ничего не получилось. Затем я попытался использовать пользовательскую фигуру, которая расширяет фигуру прямоугольника. Затем я мог рисовать прямоугольник без какой-либо границы. – user414967
Yaa правда. Но если нарисовать фигуру и попытаться показать ее в холсте, она дает мне пустую фигуру. это означает, что это не видно. Я попытался установить фон, чтобы увидеть, может ли он быть видимым или нет. Но я не мог видеть. Поэтому я предположил, что Цифры в основном представляют собой контейнер, содержащий другие формы. Это верно? Пожалуйста, помогите мне понять. Именно по этой причине я обратился к пользовательскому прямоугольнику без какой-либо границы. – user414967
С изображением "figure.setOpaque (true)" "Фигура" будет рисовать свой цвет фона. – p12t
ohh..Thanks много !!! – user414967