gpt4 book ai didi

java - Eclipse/SWT : Rectangle taking up entire canvas

转载 作者:行者123 更新时间:2023-12-01 16:03:07 26 4
gpt4 key购买 nike

我正在编写一个基于 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);
}

最佳答案

我没有使用过 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);

对我来说看起来不错 - 全绿色 Canvas 的左上角有一个蓝色的小矩形。我猜想您用作 Canvas 内容的图形默认情况下(并且可能是必要的)占据了整个 Canvas 。

关于java - Eclipse/SWT : Rectangle taking up entire canvas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com