当在 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);
我还有一个与复合布局关联的监听器,用于调整列数,但我认为这无关紧要。
最佳答案
使用 Button
来完成此任务似乎不是最佳选择(因为边框)。
您最好使用Label
来托管Image
。您的代码只需更改很少的内容,因为您只需将所有出现的 Button
替换为 Label
。
关于java - SWT 按钮图像限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15963610/