Mega Code Archive

 
Categories / Java Tutorial / SWT
 

To create the upper-right three buttons, you reason that you can put them all in a composite with a grid layout, and attach the compos

import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class FormLayoutComposite {   public static void main(String[] args) {     Display display = new Display();     Shell shell = new Shell(display);     shell.setLayout(new FormLayout());     Composite composite = new Composite(shell, SWT.NONE);          GridLayout gridLayout = new GridLayout();     gridLayout.marginHeight = 0;     gridLayout.marginWidth = 0;     composite.setLayout(gridLayout);     Button two = new Button(composite, SWT.PUSH);     two.setText("two");     GridData gridData = new GridData(GridData.FILL_BOTH);     two.setLayoutData(gridData);     Button three = new Button(composite, SWT.PUSH);     three.setText("three");     gridData = new GridData(GridData.FILL_BOTH);     three.setLayoutData(gridData);     Button four = new Button(composite, SWT.PUSH);     four.setText("four");     gridData = new GridData(GridData.FILL_BOTH);     four.setLayoutData(gridData);          FormData data = new FormData();     data.top = new FormAttachment(0, 5);     data.left = new FormAttachment(two, 5);     data.bottom = new FormAttachment(50, -5);     data.right = new FormAttachment(100, -5);     composite.setLayoutData(data);              shell.pack();     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch()) {         display.sleep();       }     }     display.dispose();   } }