MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.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.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class MainClass {

    public static void main(String[] a) {
        Display d = new Display();
        Shell s = new Shell(d);

        s.setSize(250, 250);

        s.setText("A Shell Composite Example");

        GridLayout gl = new GridLayout();
        gl.numColumns = 4;
        s.setLayout(gl);
        s.setLayout(gl);

        GridComposite gc = new GridComposite(s);
        GridData gd = new GridData(GridData.FILL_BOTH);
        gd.horizontalSpan = 4;
        gc.setLayoutData(gd);
        gd = new GridData();

        RowComposite rc = new RowComposite(s);
        gd = new GridData(GridData.FILL_HORIZONTAL);
        rc.setLayoutData(gd);

        s.open();
        while (!s.isDisposed()) {
            if (!d.readAndDispatch())
                d.sleep();
        }
        d.dispose();
    }
}

class GridComposite extends Composite {

    public GridComposite(Composite c) {
        super(c, SWT.BORDER);
        GridLayout gl = new GridLayout();
        gl.numColumns = 3;
        this.setLayout(gl);
        final Label l1 = new Label(this, SWT.BORDER);
        l1.setText("Column One");
        final Label l2 = new Label(this, SWT.BORDER);
        l2.setText("Column Two");
        final Label l3 = new Label(this, SWT.BORDER);
        l3.setText("Column Three");
        final Text t1 = new Text(this, SWT.SINGLE | SWT.BORDER);
        final Text t2 = new Text(this, SWT.SINGLE | SWT.BORDER);
        final Text t3 = new Text(this, SWT.SINGLE | SWT.BORDER);
        final Text t4 = new Text(this, SWT.SINGLE | SWT.BORDER);
        final Text t5 = new Text(this, SWT.SINGLE | SWT.BORDER);
        final Text t6 = new Text(this, SWT.SINGLE | SWT.BORDER);

        GridData gd = new GridData();
        gd.horizontalAlignment = GridData.CENTER;
        l1.setLayoutData(gd);

        gd = new GridData();
        gd.horizontalAlignment = GridData.CENTER;
        l2.setLayoutData(gd);

        gd = new GridData();
        gd.horizontalAlignment = GridData.CENTER;
        l3.setLayoutData(gd);

        gd = new GridData(GridData.FILL_HORIZONTAL);
        t1.setLayoutData(gd);

        gd = new GridData(GridData.FILL_HORIZONTAL);
        t2.setLayoutData(gd);

        gd = new GridData(GridData.FILL_HORIZONTAL);
        t3.setLayoutData(gd);

        gd = new GridData(GridData.FILL_HORIZONTAL);
        t4.setLayoutData(gd);

        gd = new GridData(GridData.FILL_HORIZONTAL);
        t5.setLayoutData(gd);

        gd = new GridData(GridData.FILL_HORIZONTAL);
        t6.setLayoutData(gd);
    }

}

class RowComposite extends Composite {

    final Button okBtn;

    final Button cancelBtn;

    public RowComposite(Composite c) {
        super(c, SWT.NO_FOCUS);
        RowLayout rl = new RowLayout();
        rl.wrap = false;
        rl.pack = false;
        this.setLayout(rl);
        okBtn = new Button(this, SWT.BORDER | SWT.PUSH);
        okBtn.setText("OK");
        okBtn.setSize(30, 20);
        cancelBtn = new Button(this, SWT.BORDER | SWT.PUSH);
        cancelBtn.setText("Cancel");
        cancelBtn.setSize(30, 20);
        cancelBtn.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                System.out.println("Cancel was clicked");
            }
        });
    }
}