我使用的是自定义"按钮"但是,对于Eclipse RCP的实现,这个实现的问题是,getShell.pack()
调用没有正确地考虑到这个"按钮"实例,也就是说,它们就像这些"按钮"对话框中没有实例。这是图片说明:
此外,这里是"按钮的实现":http://pastebin.com/gWufPpb5
正如您所看到的,它是Canvas的扩展,但是如果我尝试将Canvas实例放入我的对话框并且它被正确考虑,那么这个"按钮"实现可能会破坏一些Canvas方法/变量,这有助于getShell.pack()
计算对话框的正确大小,但似乎无法找出哪个。
所以,我需要知道的是在计算时getShell().pack()
调用的对话框内的每个小部件的属性/方法(我想这是同一个小部件),所以我可以弄清楚这个自定义"按钮"正在破坏对话框布局的计算。
编辑:
布局代码:
GridData gridData;
Composite newContainer;
mainLayout = new GridLayout(2, true);
mainLayout.marginHeight = 5;
mainLayout.marginWidth = 5;
mainLayout.marginLeft = 5;
mainLayout.marginRight = 5;
mainLayout.horizontalSpacing = 15;
mainLayout.verticalSpacing = 10;
newContainer = new Composite(parent, SWT.NONE);
newContainer.setLayout(mainLayout);
答案 0 :(得分:0)
方法
public Point computeSize(int wHint, int hHint, boolean changed)
在pack
处理期间调用每个控件上的。具体如何使用大小取决于您使用的布局。