Similar to the Single-Column Example above, if we instead use the GridLayout(int, boolean)
constructor, we can create a layout with multiple columns.
In this case we create two columns, each of which are the same width.
public class MultiColumnGridLayoutExample {
private final Display display;
private final Shell shell;
public MultiColumnGridLayoutExample() {
display = new Display();
shell = new Shell(display);
// Create the layout and apply to the Shell
shell.setLayout(new GridLayout(2, true));
// Add the child controls to the Shell - in this case, in two columns
final Button buttonA = new Button(shell, SWT.PUSH);
buttonA.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
buttonA.setText("Button A");
final Button buttonB = new Button(shell, SWT.PUSH);
buttonB.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
buttonB.setText("Button B");
final Button buttonC = new Button(shell, SWT.PUSH);
buttonC.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
buttonC.setText("Button C");
final Button buttonD = new Button(shell, SWT.PUSH);
buttonD.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
buttonD.setText("Button D");
}
public void run() {
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(final String... args) {
new MultiColumnGridLayoutExample().run();
}
}
Results in: