Adding Columns : TableColumn « SWT « Java Tutorial

The TableColumn class represents a column in the table. You create a column with a parent table, a style, and optionally an index. If you don't specify an index, the column assumes the next available zero-based index.

public TableColumn(Table parent, int style)
public TableColumn(Table parent, int style, int index)

The supported styles all specify the alignment for the column's contents:

  1. SWT.LEFT for left alignment,
  2. SWT.CENTER for center alignment, and
  3. SWT.RIGHT for right alignment.
  1. You should specify only one of these;
  2. You can change alignment after construction using the setAlignment() method.
  3. Alignment defaults to left and affects all rows in the column.
Adding Columns
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

public class TableColumnAdding {

  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    Table table = new Table(shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);

    String[] titles = { " ", "C", "!", "Description"};
    for (int i = 0; i < titles.length; i++) {
      TableColumn column = new TableColumn(table, SWT.RIGHT);

    for (int i = 0; i < 10; i++) {
      TableItem item = new TableItem(table, SWT.NONE);
      item.setText(0, "x");
      item.setText(1, "y");
      item.setText(2, "!");
      item.setText(3, "d");

    for (int i=0; i<titles.length; i++) {
      table.getColumn (i).pack ();
    table.setSize(table.computeSize(SWT.DEFAULT, 200));
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())

17.51.1.Adding ColumnsAdding Columns
17.51.2.Fixed first column and horizontal scroll remaining columnsFixed first column and horizontal scroll remaining columns
17.51.3.Add Column Header Selection ListenerAdd Column Header Selection Listener
17.51.4.Reorder TableColumnReorder TableColumn
17.51.5.Insert a table column at an indexInsert a table column at an index
17.51.6.Add Icon to Table columnAdd Icon to Table column