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