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.custom.SashForm;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
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.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class MainClass {

    public static void main(String[] a) {

        final Display d = new Display();
        final Shell shell = new Shell(d);

        shell.setSize(250, 200);

        shell.setLayout(new GridLayout(1, false));

        Composite sash = new Composite(shell, SWT.NONE);
        sash.setLayout(new FillLayout());
        sash.setLayoutData(new GridData(GridData.FILL_BOTH));
        final SashForm sashForm = new SashForm(sash, SWT.HORIZONTAL);

        sashForm.SASH_WIDTH = 5;

        sashForm.setBackground(shell.getDisplay().getSystemColor(SWT.COLOR_WHITE));

        final Button one = new Button(sashForm, SWT.PUSH);
        one.setText("One");
        one.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                maximizeHelper(one, sashForm);
            }
        });

        final Button two = new Button(sashForm, SWT.PUSH);
        two.setText("Two");
        two.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                maximizeHelper(two, sashForm);
            }
        });

        final Button three = new Button(sashForm, SWT.PUSH);
        three.setText("Three");
        three.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                maximizeHelper(three, sashForm);
            }
        });

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

    private static void maximizeHelper(Control control, SashForm sashForm) {
        // See if the control is already maximized
        if (control == sashForm.getMaximizedControl()) {
            // Already maximized; restore it
            sashForm.setMaximizedControl(null);
        } else {
            // Not yet maximized, so maximize it
            sashForm.setMaximizedControl(control);
        }
    }

}