GridLayoutDialog.java Source code

Java tutorial

Introduction

Here is the source code for GridLayoutDialog.java

Source

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