设置复合的背景图像,使内部合成不显示背景

时间:2013-09-30 13:59:45

标签: java swt

我有一个主要复合材料,里面有另一个复合材料,现在我想设置外部复合材料的背景图像,当我这样做时,内部复合材料显示白色背景如何摆脱那个白色背景?

public void createPartControl(Composite parent) {
    Composite outer = new Composite(parent, SWT.INHERIT_FORCE);
    outer.setBackgroundImage(new Image(null , this.getClass().getClassLoader().getResourceAsStream("background.jpg")));

    Composite inner = new Composite(outer, SWT.NONE);
    //add text, label etc to inner
}

设置背景但仅适用于内部复合白色背景apears。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

SWT.INHERIT_FORCE不应该传递给构造函数。相反,请致电

outer.setBackgroundMode(SWT.INHERIT_FORCE);

答案 1 :(得分:0)

我猜你想在你的Composite外面放一些有背景图像的东西。

您可以尝试设置inner.setBackground(null),也可以使用GC手动绘制要在该背景图像上绘制的内容,然后删除“内部”CompositeAlso check this out.

DO NOT FORGET TO DISPOSE YOUR IMAGES !!新秀的错误。