final Table table = new Table(this, SWT.BORDER | SWT.MULTI); table.setSize(200, 200); TableColumn tc = new TableColumn(table, SWT.NONE); tc.setText("Column 1"); tc.setWidth(200); for (int i = 0; i < 100; i++) { TableItem item = new TableItem(table, SWT.NONE); Text text = new Text(table, SWT.NONE); text.setText( "item " + i); TableEditor editor = new TableEditor (table); editor.grabHorizontal = true; editor.setEditor(text, item, 0); editor.layout(); } Button btn = new Button(this, SWT.NONE); btn.setText("Click"); btn.addSelectionListener(new SelectionListener(){ public void widgetSelected(SelectionEvent e) { table.setTopIndex(95); } public void widgetDefaultSelected(SelectionEvent e) {} });