Java SWT-网格数据布局

Java SWT-网格数据布局,java,layout,swt,Java,Layout,Swt,我有一个创建4个按钮的方法。这些按钮从左到右排列在一起 |-[b1] [b2] [b3] [b4]-----------------| <- edge of dialog 但我不知道如何获得按钮之间的空间。您可以为布局中的特定网格编号指定按钮吗 b1 = 1 b2 = 2 b3 = 5 b4 = 6 布局从左上角到右下角一次填充一个插槽。因此,您不能“跳过”插槽但是,正如吉尔伯特在评论中提到的,您可以用空标签填充“未使用”的插槽: Button buttonOne = new But

我有一个创建4个按钮的方法。这些按钮从左到右排列在一起

|-[b1] [b2] [b3] [b4]-----------------| <- edge of dialog
但我不知道如何获得按钮之间的空间。您可以为布局中的特定网格编号指定按钮吗

b1 = 1
b2 = 2
b3 = 5
b4 = 6 

布局
从左上角到右下角一次填充一个插槽。因此,您不能“跳过”插槽但是,正如吉尔伯特在评论中提到的,您可以用空标签填充“未使用”的插槽:

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
注意,您不必分配它们(
标签labelOne=…
),因为您不打算使用它们


强制所有柱的间距相等可能是一个好主意,即使用:

GridLayout gridLayout = new GridLayout(6, true);
而不是

GridLayout gridLayout = new GridLayout(6, false);
否则,可能需要为虚拟
标签指定
GridData
(水平填充)


在其他情况下,也可能需要使用:


在这种情况下,按钮将占据版面的两个插槽。

版面从左上角到右下角一次填充一个插槽。因此,您不能“跳过”插槽但是,正如吉尔伯特在评论中提到的,您可以用空标签填充“未使用”的插槽:

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
注意,您不必分配它们(
标签labelOne=…
),因为您不打算使用它们


强制所有柱的间距相等可能是一个好主意,即使用:

GridLayout gridLayout = new GridLayout(6, true);
而不是

GridLayout gridLayout = new GridLayout(6, false);
否则,可能需要为虚拟
标签指定
GridData
(水平填充)


在其他情况下,也可能需要使用:


在这种情况下,按钮将占据布局的2个插槽。

您可以在3和4中分配空字符串标签。您可以在3和4中分配空字符串标签。