0

画像が SWT に設定されていてButton、画像が大きい場合 (この場合は幅)、ボタンの制限は守られず、あるボタンの画像が別のボタンの画像に「接触」する可能性があります。

ここに画像の説明を入力

不思議なことに、SWT.LEFTまたはSWT.RIGHTを使用すると、それぞれの問題は発生しません。で試しましたがSWT.CENTER、成功しませんでした。

この問題を回避する「回避策」はありますか? それとも、すべての SWT ユーザーが慣れなければならないものですか?

複合コード:

GridLayout gridLayout = new GridLayout(1, true);
gridLayout.marginWidth = 0;
gridLayout.marginHeight = 0;
gridLayout.verticalSpacing = 0;
setLayout(gridLayout);
setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

ボタンコード:

Button button=new Button(this, SWT.PUSH | SWT.WRAP);
GridData gridData=new GridData(SWT.FILL, SWT.FILL, true, false);
gridData.widthHint=size.width;
gridData.heightHint=size.height;
button.setLayoutData(gridData);

列数を調整するために、複合レイアウトに関連付けられたリスナーもありますが、それは無関係だと思います。

4

1 に答える 1

1

このタスクに aButtonを使用することは、最良の選択ではないようです (境界があるため)。

Labelをホストするためにを使用する方がよい場合がありますImageButtonすべての出現箇所をで置き換えるだけでよいため、コードはほとんど変更されませんLabel

于 2013-04-13T16:58:47.603 に答える