0

当在 SWT 上设置Button图像并且图像更大(在这种情况下为宽度)时,按钮的限制不受尊重,并且来自一个按钮的图像可以“触摸”来自另一个按钮的图像。

在此处输入图像描述

奇怪的是,如果使用SWT.LEFTSWT.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似乎不是最好的选择(因为边界)。

您最好使用 aLabel来托管Image. 您的代码只会发生很少的变化,因为您只需要将所有出现的Buttonwith替换掉Label

于 2013-04-13T16:58:47.603 回答