table.setLayoutData(data);
table.setLinesVisible(false);
table.setHeaderVisible(true);
final TableColumn[] column = new TableColumn[columnNames.length];
Listener sortListener = new SortListener(table, columnNames);
for (int i = 0; i < columnNames.length; ++i) {
column[i] = new TableColumn(table, SWT.LEFT, i);
column[i].setText(columnNames[i]);
column[i].setWidth(columnWidths[i]);
column[i].addListener(SWT.Selection, sortListener);