Mega Code Archive

 
Categories / Java Tutorial / SWT
 

Use GridLayout to layout a dialog

import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; 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.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class GridLayoutDialog {   public static void main(String[] args) {     Display display = new Display();     final Shell shell = new Shell(display);     Label labelUser;     Label labelFile;     final Text textUser;     final Text textFile;     Button buttonBrowseFile;     Button buttonUpload;     GridLayout gridLayout = new GridLayout(3, false);     shell.setLayout(gridLayout);     labelUser = new Label(shell, SWT.NULL);     GridData gridData = new GridData(GridData.FILL_HORIZONTAL);     gridData.grabExcessHorizontalSpace = true;     textUser = new Text(shell, SWT.SINGLE | SWT.BORDER);     textUser.setLayoutData(gridData);     new Label(shell, SWT.NULL);     // 2nd row.     labelFile = new Label(shell, SWT.NULL);     gridData = new GridData(GridData.FILL_HORIZONTAL);     gridData.grabExcessHorizontalSpace = true;     textFile = new Text(shell, SWT.SINGLE | SWT.BORDER);     textFile.setLayoutData(gridData);     buttonBrowseFile = new Button(shell, SWT.PUSH);     // last row.     gridData = new GridData();     gridData.horizontalSpan = 3;     gridData.horizontalAlignment = GridData.CENTER;     buttonUpload = new Button(shell, SWT.PUSH);     buttonUpload.setLayoutData(gridData);     labelUser.setText("User name: ");     labelFile.setText("Photo: ");     buttonBrowseFile.setText("Browse");     buttonUpload.setText("Upload");     buttonBrowseFile.addSelectionListener(new SelectionAdapter() {       public void widgetSelected(SelectionEvent e) {         FileDialog dialog = new FileDialog(shell, SWT.OPEN);         String file = dialog.open();         if (file != null) {           textFile.setText(file);         }       }     });     buttonUpload.addSelectionListener(new SelectionAdapter() {       public void widgetSelected(SelectionEvent e) {         System.out.println(textUser.getText());         System.out.println(textFile.getText());         shell.dispose();       }     });     shell.pack();     shell.open();     textUser.forceFocus();     while (!shell.isDisposed()) {       if (!display.readAndDispatch()) {         display.sleep();       }     }     display.dispose();   } }