每次从Layout
左上角到右下角填充一个插槽。因此,您不能“跳过”插槽。但是,正如吉尔伯特在评论中已经提到的那样,您可以用空标签填充“未使用”的插槽:
Button buttonOne = new Button(parent, SWT.PUSH); // 1. slot
Button buttonOne = new Button(parent, SWT.PUSH); // 2. slot
new Label(parent, SWT.NONE) // 3. slot
new Label(parent, SWT.NONE) // 4. slot
Button buttonThree = new Button(parent, SWT.PUSH); // 5. slot
Button buttonFour = new Button(parent, SWT.PUSH); // 6. slot
请注意,您不必分配它们 ( )Label labelOne = ...
,因为您不会使用它们。
强制所有列的间距相等可能是一个好主意,即使用:
GridLayout gridLayout = new GridLayout(6, true);
代替
GridLayout gridLayout = new GridLayout(6, false);
否则,可能需要为虚拟s分配一个GridData
(水平填充) 。Label
horizontalSpan
在其他情况下,使用 也可能很有趣GridData
:
Button button = new Button(parent, SWT.PUSH);
GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
data.horizontalSpan = 2;
button.setLayoutData(data);
在这种情况下,按钮将占用您布局的 2 个插槽。