Eclipse / SWT: прямоугольник, занимающий весь холст - PullRequest
0 голосов
/ 26 июля 2010

Я пишу приложение на основе Eclipse RCP и пытаюсь нарисовать прямоугольник поверх ViewPart. Тем не менее, кажется, что прямоугольник занимает весь экран даже при указании границ. Ниже мой код.

public void createPartControl(Composite parent) {
        Shell shell = parent.getShell();

        Canvas canvas = new Canvas(parent, SWT.NONE);
        LightweightSystem lws = new LightweightSystem(canvas);
        RectangleFigure rectangle = new RectangleFigure();
        rectangle.setBounds(new Rectangle(0, 0, 10, 10));
        rectangle.setBackgroundColor(ColorConstants.green);
        lws.setContents(rectangle);
}

1 Ответ

1 голос
/ 26 июля 2010

Я не использовал Draw2D, но я попытался изменить ваш пример, создав еще один прямоугольник и добавив его к первому, и тот появится.Т.е.

// from your code
rectangle.setBackgroundColor(ColorConstants.green);

// new code
RectangleFigure r2 = new RectangleFigure();
r2.setBounds(new Rectangle(0,0,10,10));
r2.setBackgroundColor(ColorConstants.blue);
rectangle.add(r2);

// back to your code
lws.setContents(rectangle);

Мне это выглядит хорошо - в левом верхнем углу полностью зеленого холста есть маленький синий прямоугольник.Я предполагаю, что фигура, которую вы используете в качестве содержимого холста, по умолчанию (и, вероятно, по необходимости) занимает весь холст.

...