Java tutorial
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(); } }