Java Code Examples for org.eclipse.nebula.widgets.grid.GridItem#setText()

The following examples show how to use org.eclipse.nebula.widgets.grid.GridItem#setText() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GridSnippet1.java    From nebula with Eclipse Public License 2.0 7 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setTree(true);
    column.setText("Column 1");
    column.setWidth(100);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("Root Item");
    GridItem item2 = new GridItem(item1,SWT.NONE);
    item2.setText("Second item");
    GridItem item3 = new GridItem(item2,SWT.NONE);
    item3.setText("Third Item");
    
    shell.setSize(200,200);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
 
Example 2
Source File: FirstPart.java    From nebula with Eclipse Public License 2.0 6 votes vote down vote up
@PostConstruct
public void createComposite(final Composite parent) {
	parent.setLayout(new FillLayout());

	grid = new Grid(parent,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setTree(true);
    column.setText("Column 1");
    column.setWidth(100);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("Root Item");
    GridItem item2 = new GridItem(item1,SWT.NONE);
    item2.setText("Second item");
    GridItem item3 = new GridItem(item2,SWT.NONE);
    item3.setText("Third Item");

	grid.setData(CSS_ID, "one");

}
 
Example 3
Source File: GridSnippet1.java    From nebula with Eclipse Public License 2.0 6 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,/*SWT.BORDER |*/ SWT.V_SCROLL | SWT.H_SCROLL);
  //  grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
   // column.setTree(true);
   // column.setText("Column 1");
  //  column.setWidth(100);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("Root Item");
    GridItem item2 = new GridItem(grid,SWT.NONE);
    item2.setText("Second item");
    GridItem item3 = new GridItem(grid,SWT.NONE);
    item3.setText("Third Item");
    
    shell.setSize(200,200);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
 
Example 4
Source File: GridSnippet2.java    From nebula with Eclipse Public License 2.0 6 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setText("Column 1");
    column.setWidth(100);
    GridColumn column2 = new GridColumn(grid,SWT.NONE);
    column2.setText("Column 2");
    column2.setWidth(100);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("First Item");
    item1.setText(1,"xxxxxxx");
    GridItem item2 = new GridItem(grid,SWT.NONE);
    item2.setText("This cell spans both columns");
    item1.setText(1,"xxxxxxx");
    item2.setColumnSpan(0,1);
    GridItem item3 = new GridItem(grid,SWT.NONE);
    item3.setText("Third Item");
    item1.setText(1,"xxxxxxx");
    
    shell.setSize(200,200);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
 
Example 5
Source File: GridSnippet8.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
public static void main(String[] args) {
	Display display = new Display();
	Shell shell = new Shell(display);
	shell.setLayout(new FillLayout());

	final Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
	grid.setHeaderVisible(true);
	grid.setAutoHeight(true);
	grid.setAutoWidth(true);

	GridColumn column1 = new GridColumn(grid, SWT.NONE);
	column1.setText("Column 1");
	column1.setWidth(150);
	column1.setWordWrap(true);

	GridColumn column2 = new GridColumn(grid, SWT.NONE);
	column2.setText("Column 2");
	column2.setWidth(200);
	column2.setWordWrap(true);

	GridItem item1 = new GridItem(grid, SWT.NONE);
	item1.setText(0, "Item 1, Column 0: " + LONG_TEXT);
	item1.setText(1, "Item 1, Column 1: " + LONG_TEXT);

	GridItem item2 = new GridItem(grid, SWT.NONE);
	item2.setText("Item 2, Columns 0-1: " + LONG_TEXT);
	item2.setColumnSpan(0, 1);

	GridItem item3 = new GridItem(grid, SWT.NONE);
	item3.setText(0, "Item 3, Column 0: " + MEDIUM_TEXT);
	item3.setText(1, "Item 3, Column 1: " + MEDIUM_TEXT);

	shell.setSize(400, 400);
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch())
			display.sleep();
	}
	display.dispose();
}
 
Example 6
Source File: GridTableViewer.java    From translationstudio8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * {@inheritDoc}
 */
protected void doResetItem(Item item) {
	GridItem gridItem = (GridItem) item;
	int columnCount = Math.max(1, grid.getColumnCount());
	for (int i = 0; i < columnCount; i++) {
		gridItem.setText(i, ""); //$NON-NLS-1$
		gridItem.setImage(null);
	}
}
 
Example 7
Source File: GridTableViewer.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * {@inheritDoc}
 */
protected void doResetItem(Item item) {
	GridItem gridItem = (GridItem) item;
	int columnCount = Math.max(1, grid.getColumnCount());
	for (int i = 0; i < columnCount; i++) {
		gridItem.setText(i, ""); //$NON-NLS-1$
		gridItem.setImage(null);
	}
}
 
Example 8
Source File: GridTableViewer.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * {@inheritDoc}
 */
@Override
protected void doResetItem(Item item) {
    GridItem gridItem = (GridItem) item;
    int columnCount = Math.max(1, grid.getColumnCount());
    for (int i = 0; i < columnCount; i++) {
        gridItem.setText(i, ""); //$NON-NLS-1$
        gridItem.setImage(null);
    }
}
 
Example 9
Source File: GridSnippet12.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
public static void main(String[] args) {
	Display display = new Display();
	Shell shell = new Shell(display);
	shell.setLayout(new FillLayout());

	Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
	grid.setHeaderVisible(true);

	GridColumn firstColumn = new GridColumn(grid, SWT.NONE);
	firstColumn.setText("Column 1 (START Truncation)");
	firstColumn.setWidth(150);
	firstColumn.getCellRenderer().setTruncationStyle(SWT.LEFT);

	GridColumn secondColumn = new GridColumn(grid, SWT.NONE);
	secondColumn.setText("Column 1 (MIDDLE Truncation)");
	secondColumn.setWidth(150);
	secondColumn.getCellRenderer().setTruncationStyle(SWT.CENTER);

	GridColumn thirdColumn = new GridColumn(grid, SWT.NONE);
	thirdColumn.setText("Column 1 (END Truncation)");
	thirdColumn.setWidth(150);
	thirdColumn.getCellRenderer().setTruncationStyle(SWT.RIGHT);

	for (int i = 0; i < 50; i++) {
		GridItem item = new GridItem(grid, SWT.NONE);
		item.setText(0, "Start truncation for this text (line #" + i + ")");
		item.setText(1, "Middle truncation for this text (line #" + i + ")");
		item.setText(2, "End truncation for this text (line #" + i + ")");
	}

	shell.setSize(500,400);
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch())
			display.sleep();
	}
	display.dispose();
}
 
Example 10
Source File: GridSnippetBug472289.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
public static void main(String[] args) {
	Display display = new Display();
	Shell shell = new Shell(display);
	shell.setLayout(new FillLayout());

	Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
	grid.setHeaderVisible(true);
	grid.setMoveOnTab(true);

	GridColumn column = new GridColumn(grid, SWT.NONE);
	column.setText("Column 1");
	column.setWidth(100);
	GridColumn column2 = new GridColumn(grid, SWT.NONE);
	column2.setText("Column 2");
	column2.setWidth(100);
	GridItem item1 = new GridItem(grid, SWT.NONE);
	item1.setText("First Item");
	item1.setText(1, "xxxxxxx");
	GridItem item2 = new GridItem(grid, SWT.NONE);
	item2.setText("This cell spans both columns");
	item1.setText(1, "xxxxxxx");
	item2.setColumnSpan(0, 1);
	GridItem item3 = new GridItem(grid, SWT.NONE);
	item3.setText("Third Item");
	item1.setText(1, "xxxxxxx");

	shell.setSize(200, 200);
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch())
			display.sleep();
	}
	display.dispose();
}
 
Example 11
Source File: GridSnippet5.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setText("Column 1");
    column.setWidth(100);
    GridColumnGroup columnGroup = new GridColumnGroup(grid,SWT.TOGGLE);
    columnGroup.setText("Column Group");
    GridColumn column2 = new GridColumn(columnGroup,SWT.NONE);
    column2.setText("Column 2");
    column2.setWidth(60);
    GridColumn column3 = new GridColumn(columnGroup,SWT.NONE);
    column3.setText("Column 3");
    column3.setWidth(60);
    column3.setSummary(false);
    column3.setDetail(true);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("First Item");
    item1.setText(1,"abc");
    GridItem item2 = new GridItem(grid,SWT.NONE);
    item2.setText("Second Item");
    item2.setText(2,"def");
    GridItem item3 = new GridItem(grid,SWT.NONE);
    item3.setText("Third Item");
    item3.setText(1,"xyz");
    
    shell.setSize(250,250);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
 
Example 12
Source File: GridSnippet4.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setText("Column 1");
    column.setWidth(100);
    GridColumnGroup columnGroup = new GridColumnGroup(grid,SWT.NONE);
    columnGroup.setText("Column Group");
    GridColumn column2 = new GridColumn(columnGroup,SWT.NONE);
    column2.setText("Column 2");
    column2.setWidth(60);
    GridColumn column3 = new GridColumn(columnGroup,SWT.NONE);
    column3.setText("Column 3");
    column3.setWidth(60);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("First Item");
    item1.setText(1,"abc");
    GridItem item2 = new GridItem(grid,SWT.NONE);
    item2.setText("Second Item");
    item2.setText(2,"def");
    GridItem item3 = new GridItem(grid,SWT.NONE);
    item3.setText("Third Item");
    item3.setText(1,"xyz");
    
    shell.setSize(250,250);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
 
Example 13
Source File: GridTableViewer.java    From tmxeditor8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * {@inheritDoc}
 */
protected void doResetItem(Item item) {
	GridItem gridItem = (GridItem) item;
	int columnCount = Math.max(1, grid.getColumnCount());
	for (int i = 0; i < columnCount; i++) {
		gridItem.setText(i, ""); //$NON-NLS-1$
		gridItem.setImage(null);
	}
}
 
Example 14
Source File: GridSnippet3.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setText("Column 1");
    column.setWidth(100);
    GridColumn column2 = new GridColumn(grid,SWT.CHECK | SWT.CENTER);
    column2.setText("Column 2");
    column2.setWidth(100);
    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText("First Item");
    item1.setChecked(1,true);
    GridItem item2 = new GridItem(grid,SWT.NONE);
    item2.setText("Second Item");
    GridItem item3 = new GridItem(grid,SWT.NONE);
    item3.setText("Third Item");
    
    shell.setSize(250,250);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}
 
Example 15
Source File: TestBug387468.java    From nebula with Eclipse Public License 2.0 4 votes vote down vote up
/**
 *
 * @param args
 */
public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);

    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid, SWT.NONE);
    column.setText("Employee");
    column.setWidth(100);

    GridColumn column2 = new GridColumn(grid, SWT.NONE);
    column2.setText("Company");
    column2.setWidth(100);

    GridItem item1 = new GridItem(grid, SWT.NONE);
    item1.setText("Anne");
    item1.setText(1, "Company A");
    item1.setRowSpan(1, 2);

    GridItem item2 = new GridItem(grid, SWT.NONE);
    item2.setText("Jim");
    item1.setText(1, "Company A");
    item2.setRowSpan(1, 2);

    GridItem item3 = new GridItem(grid, SWT.NONE);
    item3.setText("Sara");
    item3.setText(1, "Company A");
    item3.setRowSpan(1, 2);

    GridItem item4 = new GridItem(grid, SWT.NONE);
    item4.setText("Tom");
    item4.setText(1, "Company B");
    item4.setRowSpan(1, 1);

    GridItem item5 = new GridItem(grid, SWT.NONE);
    item5.setText("Nathalie");
    item5.setText(1, "Company B");
    item5.setRowSpan(1, 1);

    GridItem item6 = new GridItem(grid, SWT.NONE);
    item6.setText("Wim");
    item6.setText(1, "Company C");
    item6.setRowSpan(1, 1);

    GridItem item7 = new GridItem(grid, SWT.NONE);
    item7.setText("Pauline");
    item7.setText(1, "Company C");
    item7.setRowSpan(1, 1);

    shell.setSize(300, 300);
    shell.open();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }

    display.dispose();
}
 
Example 16
Source File: GridSnippet7.java    From nebula with Eclipse Public License 2.0 4 votes vote down vote up
public static void main(String[] args) {
	Display display = new Display();
	Shell shell = new Shell(display);
	shell.setLayout(new FillLayout());

	final Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL
			| SWT.H_SCROLL);
	grid.setHeaderVisible(true);
	grid.setFooterVisible(true);

	GridColumn column = new GridColumn(grid, SWT.NONE);
	column.setText("Column 1");
	column.setWidth(100);
	column.setHeaderControl(new CCombo(grid, SWT.READ_ONLY | SWT.BORDER));
	column.setMoveable(true);

	GridColumn column2 = new GridColumn(grid, SWT.NONE);
	column2.setText("Column 2");
	column2.setWidth(100);
	column2.setMoveable(true);
	column2.setHeaderControl(new Text(grid, SWT.BORDER));

	for (int i = 0; i < 100; i++) {
		GridItem item1 = new GridItem(grid, SWT.NONE);
		item1.setText("First Item");
		item1.setText(1, "xxxxxxx");
		GridItem item2 = new GridItem(grid, SWT.NONE);
		item2.setText("This cell spans both columns");
		item1.setText(1, "xxxxxxx");
		item2.setColumnSpan(0, 1);
		GridItem item3 = new GridItem(grid, SWT.NONE);
		item3.setText("Third Item");
		item1.setText(1, "xxxxxxx");
	}

	grid.addMouseListener(new MouseAdapter() {

		public void mouseDown(MouseEvent e) {
			if (e.y < grid.getHeaderHeight()) {
				System.out.println("header click");
			}
		}

	});

	shell.setSize(200, 200);
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch())
			display.sleep();
	}
	display.dispose();
}
 
Example 17
Source File: TestBug246608.java    From nebula with Eclipse Public License 2.0 4 votes vote down vote up
public static void main(String[] args) {
	Display display = new Display();
	Shell shell = new Shell(display);
	shell.setLayout(new FillLayout());

	final Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
	grid.setHeaderVisible(true);
	grid.setAutoWidth(true);

	GridColumn column1 = new GridColumn(grid, SWT.NONE);
	column1.setText("Column 1");
	column1.setWidth(150);
	column1.setWordWrap(true);
	column1.setVerticalAlignment(SWT.TOP);

	GridColumn column2 = new GridColumn(grid, SWT.NONE);
	column2.setText("Column 2");
	column2.setWidth(200);
	column2.setWordWrap(true);
	column2.setVerticalAlignment(SWT.CENTER);

	GridColumn column3 = new GridColumn(grid, SWT.NONE);
	column3.setText("Column 3");
	column3.setWidth(200);
	column3.setVerticalAlignment(SWT.BOTTOM);

	GridItem item1 = new GridItem(grid, SWT.NONE);
	item1.setText(0, "Item 1, Column 0: " + MEDIUM_TEXT);
	item1.setText(1, "Item 1, Column 1: " + MEDIUM_TEXT);
	item1.setText(2, "Item 1, Column 2: " + MEDIUM_TEXT);
	item1.setHeight(150);

	GridItem item2 = new GridItem(grid, SWT.NONE);
	item2.setText("Item 2, Columns 0-1: " + MEDIUM_TEXT);
	item2.setColumnSpan(0, 1);
	item2.setText(2, "Item 2, Column 2: Dummy");
	item2.setHeight(100);

	GridItem item3 = new GridItem(grid, SWT.NONE);
	item3.setText(0, "Item 3, Column 0: " + MEDIUM_TEXT);
	item3.setText(1, "Item 3, Column 1: " + MEDIUM_TEXT);
	item3.setText(2, "Item 3, Column 2: Column");
	item3.setHeight(120);

	shell.setSize(600, 500);
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch())
			display.sleep();
	}
	display.dispose();
}
 
Example 18
Source File: GridRowSpanSnippet.java    From nebula with Eclipse Public License 2.0 4 votes vote down vote up
/**
 *
 * @param args
 */
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);

    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid, SWT.NONE);
    column.setText("Column 1");
    column.setWidth(100);

    GridColumn column2 = new GridColumn(grid, SWT.NONE);
    column2.setText("Column 2");
    column2.setWidth(100);

    GridItem item1 = new GridItem(grid, SWT.NONE);
    item1.setText("First Item");
    item1.setText(1, "xxxxxxx");

    GridItem item2 = new GridItem(grid, SWT.NONE);
    item2.setText("This cell spans two rows");
    item2.setText(1, "xxxxxxx");
    item2.setRowSpan(0, 1);
    item2.setColumnSpan(0, 1);


    GridItem item3 = new GridItem(grid, SWT.NONE);
    item3.setText("Third Item");
    item3.setText(1, "xxxxxxx");

    shell.setSize(200,200);
    shell.open ();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }

    display.dispose ();
}
 
Example 19
Source File: GridWithTextWrapping.java    From nebula with Eclipse Public License 2.0 4 votes vote down vote up
public static void main(String[] args) {
	Display display = new Display();
	Shell shell = new Shell(display);
	shell.setLayout(new FillLayout());

	fGrid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL);

	fGrid.setTreeLinesVisible(false);
	fGrid.setWordWrapHeader(true);
	fGrid.setHeaderVisible(true);
	GridColumn column = new GridColumn(fGrid, SWT.NONE);
	column.setWordWrap(true);
	column.setText("Column 1");
	column.setWidth(100);
	GridColumn column2 = new GridColumn(fGrid, SWT.NONE);
	column2.setText("Column 2");
	column2.setWidth(100);

	GridItem item1 = new GridItem(fGrid, SWT.NONE);
	item1.setText("First Item. First Item. First Item.");
	item1.setText(1, "xxxxxxx");

	System.out.println("item2");
	final GridItem item2 = new GridItem(fGrid, SWT.NONE);
	item2.setText("This cell contains a lot of text. This cell contains a lot of text");
	item2.setText(1, "xxxxxxx");
	column.addControlListener(new ControlAdapter() {
		@Override
		public void controlResized(ControlEvent e) {
			calculateHeight();
		}
	});

	GridItem item3 = new GridItem(fGrid, SWT.NONE);
	item3.setText("Third Item. Third Item. Third Item. Third Item. Third Item. ");
	item3.setText(1, "xxxxxxx");

	calculateHeight();

	shell.setSize(200, 200);
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch())
			display.sleep();
	}
	display.dispose();
}
 
Example 20
Source File: GridSnippet10.java    From nebula with Eclipse Public License 2.0 4 votes vote down vote up
public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setLayout(new FillLayout());

    Grid grid = new Grid(shell,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    grid.setHeaderVisible(true);
    GridColumn column = new GridColumn(grid,SWT.NONE);
    column.setTree(true);
    column.setText("Column 1");
    column.setWidth(100);
    GridColumn column2 = new GridColumn(grid,SWT.NONE);
    column2.setTree(true);
    column2.setText("Column 1");
    column2.setWidth(100);
    GridColumn column3 = new GridColumn(grid,SWT.NONE);
    column3.setTree(true);
    column3.setText("Column 3");
    column3.setWidth(100);

    GridItem item1 = new GridItem(grid,SWT.NONE);
    item1.setText(0,"Root Item1");
    item1.setText(1,"Root Item2");
    item1.setText(2,"Root Item3");
    GridItem item2 = new GridItem(item1,SWT.NONE);
    item2.setText(0,"Second item1");
    item2.setText(1,"Second item2");
    item2.setText(2,"Second item3");
    GridItem item3 = new GridItem(item2,SWT.NONE);
    item3.setText(0,"Third Item1");
    item3.setText(1,"Third Item2");
    item3.setText(2,"Third Item3");

    grid.setCellSelectionEnabled(true);

    //add the "win7" column header rendering
    Win7RendererSupport.create(grid).decorate();

    shell.setSize(200,200);
    shell.open ();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}