Muchas veces hemos intentado poner controles swt a las celdas de una tabla. Para hacerlo debemos usar org.eclipse.swt.custom.TableEditor

Por ejemplo, en este código vamos a poner un checkbox en una celda y un combobox en otra.

private void CrearTabla() {

//hacemos la tabla

Table tabla = new Table(top, SWT.NONE);

tabla.setHeaderVisible(true);

tabla.setBounds(new org.eclipse.swt.graphics.Rectangle(47,67,190,70));

tabla.setLinesVisible(true);

//creamos las columnas, una para el checkbox y otra para el combo

TableColumn columnaIzq = new TableColumn(tabla, SWT.NONE);

columnaIzq.setWidth(100);

columnaIzq.setText(“Columna con checkbox”);

TableColumn columnaDer = new TableColumn(tabla, SWT.NONE);

columnaDer.setWidth(100);

columnaDer.setText(“Columna con combobox”);

//creamos un item para agregarle más adelante el checkbox

TableItem item=new TableItem(tabla,SWT.NONE);

TableEditor editor = new TableEditor (tabla);

Button btncheck = new Button(tabla, SWT.CHECK);

btncheck.pack();

editor.minimumWidth = btncheck.getSize ().x;

editor.horizontalAlignment = SWT.CENTER;

editor.setEditor(btncheck, item, 0);

editor = new TableEditor (tabla);

//creamos el combo

Combo combo = new Combo(tabla, SWT.CHECK);

combo.pack();

//agregamos el combo a la tabla

editor.minimumWidth = combo.getSize ().x;

editor.horizontalAlignment = SWT.CENTER;

editor.setEditor(combo, item, 1);

}