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.TableTree;
import org.eclipse.swt.custom.TableTreeItem;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;

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

        TableTree tableTree = new TableTree(shell, SWT.NONE);
        Table table = tableTree.getTable();
        table.setHeaderVisible(true);
        table.setLinesVisible(false);

        for (int i = 0; i < 3; i++) {
            new TableColumn(table, SWT.LEFT).setText("Column " + (i + 1));
        }

        for (int i = 0; i < 3; i++) {
            TableTreeItem parent = new TableTreeItem(tableTree, SWT.NONE);
            parent.setText(0, "Parent " + (i + 1));
            parent.setText(1, "Data");
            parent.setText(2, "More data");

            for (int j = 0; j < 3; j++) {
                TableTreeItem child = new TableTreeItem(parent, SWT.NONE);
                child.setText(0, "Child " + (j + 1));
                child.setText(1, "Some child data");
                child.setText(2, "More child data");
            }
            parent.setExpanded(true);
        }

        // Pack the columns
        TableColumn[] columns = table.getColumns();
        for (int i = 0, n = columns.length; i < n; i++) {
            columns[i].pack();
        }

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