Mega Code Archive

 
Categories / Java Tutorial / SWT
 

Enable more than one control to grab excess vertical space

import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.List; import org.eclipse.swt.widgets.Shell; public class GridLayoutGrabExcessVertical {   public static void main(String[] args) {     Display display = new Display();     final Shell shell = new Shell(display);     GridLayout gridLayout = new GridLayout();     gridLayout.numColumns = 2;     gridLayout.makeColumnsEqualWidth = true;     shell.setLayout(gridLayout);     Button button1 = new Button(shell, SWT.PUSH);     button1.setText("button1"); // Default alignment     List list = new List(shell, SWT.BORDER);     list.add("item 1");     list.add("item 2");     list.add("item 3");     GridData gridData = new GridData();     gridData.grabExcessHorizontalSpace = true;     gridData.horizontalAlignment = GridData.FILL;     list.setLayoutData(gridData);     Button button2 = new Button(shell, SWT.PUSH);     button2.setText("button #2");     GridData gridData2 = new GridData();     gridData2.grabExcessVerticalSpace = true;     gridData2.verticalAlignment = GridData.FILL;     button2.setLayoutData(gridData2);     Button button3 = new Button(shell, SWT.PUSH);     button3.setText("3");     shell.setSize(450, 400);     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch()) {         display.sleep();       }     }     display.dispose();   } }