0

メインコンポジットがあり、その中に別のコンポジットがあります。外側のコンポジットの背景画像を設定したいのですが、これを行うと、内側のコンポジットに白い背景が表示され、その白い背景を取り除く方法は?

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
}

背景は設定されていますが、内側の合成用の白い背景のみが表示されます。ご協力いただきありがとうございます。

4

2 に答える 2

1

SWT.INHERIT_FORCEコンストラクターに渡すことは想定されていません。代わりに、

outer.setBackgroundMode(SWT.INHERIT_FORCE);
于 2013-09-30T14:47:34.127 に答える
0

Composite背景画像のあるアウターの上に何かを置きたいと思います。

を設定してみるか、その背景画像に描画したいものをinner.setBackground(null)手動で描画してから、「内側」を削除します。 これもチェックしてください。GCComposite

画像を破棄することを忘れないでください!! 新人のミス。

于 2013-09-30T14:23:22.643 に答える