当前位置: 首页 > 面试题库 >

如何在SWT中绘制复合材料的子元素?

年业
2023-03-14
问题内容

我知道要在Composite上进行绘制,您可以添加绘制侦听器,但这会导致在子级下进行绘制。如果我想画在孩子的头上怎么办?

以下内容画了一条线,但在其上画了subc。

Composite c = new Composite(shell, 0);
c.setBackground(shell.getDisplay().getSystemColor(SWT.COLOR_BLUE));
c.setBounds(100, 100, 800, 600);

c.addPaintListener(new PaintListener() {
    public void paintControl(PaintEvent e) {
        e.gc.drawLine(0, 0, 500, 1000);
    }
});

final Composite subc = new Composite(c, 0);
subc.setLayout(null);
subc.setBounds(10, 10, 600, 400);

问题答案:

不幸的是,这不是一个已实现的功能,如Bug#114749所示。

您必须编写自己的自定义解决方案(例如,计算每个受影响的复合材料的绘制区域,然后在每个组合上绘制)。

它是一个相当老的错误,但是如果您认为这是“必须具备”的条件,那么投票总是一个好主意。



 类似资料:
  • 我有一个登录页面,有两个文本字段:用户名、密码和登录按钮,用户名字段在最上面,密码字段在下面,登录按钮在底部。我希望它们始终位于页面的中心,无论是垂直还是水平。我试过这个: 它只是水平居中。我怎样才能使它水平和垂直居中?

  • 我试图编写一个SWT组件,它能够采取和绘制的实例。我的问题是SWT的和AWT的不兼容:SWT组件不能绘制,AWT/Swing组件不能绘制。 有几种方法试图以其他方式解决这个问题(也可能有一些变化,但基本上有以下两种): 在SWT图像和AWT BuffereImage之间转换 他们都有缺点,没有满足我的期望: 第一种方法是将SWT转换为,由于为每个像素创建了一个新的实例,因此对大图像的性能较差 第二

  • 有人能告诉我如何开始实施Android Material Design guide中描述的垂直非线性步进控制吗 http://www.google.com/design/spec/components/steppers.html

  • 我不能让离子3材料一起工作。 我已经按照每个步骤,安装,,,并将带到。我已经导入从并将其添加到数组。我终于试着把它用在

  • 两周培训规划 基础培训及考核-2d 代码规范培训-4h Linux基础-20h 工具培训及考核-6d gulp-4h webpack-4h postman-4h webstorm-4h git-8h gitlab-4h npm-4h bower-4h Lo-Dash-8h Chrome-dev-tool-4h Swagger-4h Graphql-4h SecureCRT-2h gitbook/m

  • 问题内容: 我非常敢打赌,我做了一些愚蠢的事情,只是似乎没注意到。 该项目是使用提供 gdx-setup-ui.jar 的模板工具生成的。 正如您在代码中所看到的,我没有费心去掉默认代码(只是一些简单的绘制代码来渲染LibGDX徽标)。 因此,对于干净生成的项目,我在这里遵循了本指南 http://code.google.com/p/libgdx- users/wiki/addingText2D