Agregar filas Tablas con campos dinamicos

Hola a todos soy muy nuevo en Java (vengo del php) y en Vaadin mas, tengo el siguiente problema.
Todos los ejemplos de contenedores en general estan apuntados a usar jpa pero estoy trabajando en un ámbito en el que no puedo conectarme por jpa (a una DB SQLServer 2005 dentro de una red con un proxi que lo complica todo).
Por eso y mi desconocimiento comencé a fenerar un formulario y ahora tengo un problema con una tabla.
básicamente quiero hacer unas tablas e ir agregando campos uno tras otro, hago esto recorriendo con un loop for según un contador y el problema que tengo es que el valor del contador getCont() cambia dentro del listener pero no llega al loop for por lo que no puedo agregar nada.
Si alguien me puede dar una mano lo agradecería.

public class RellenarTablas extends CustomComponent {

protected int cont;

public RellenarTablas(Table integrantesTable, Table trabajoTable,
        Button AgregarIntegrantes) {
    // Show 5 rows
    // integrantesTable.setPageLength(5);
    // Define the names and data types of columns. The "default value"
    // parameter is meaningless here.
    // Table with a component column in non-editable mode
    integrantesTable.addContainerProperty("Legajo", ComboBox.class, null);
    integrantesTable.addContainerProperty("Nombre", ComboBox.class, null);
    integrantesTable.addContainerProperty("Categoría", ComboBox.class, null);
    integrantesTable.addContainerProperty("Escalafon", ComboBox.class, null);
    integrantesTable.addContainerProperty("Responsable", CheckBox.class, null);
    // Insert this data

    // Ejecuto la tarea Completar y Seguir
    AgregarIntegrantes.addClickListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            cont++;
            setCont(cont);
            System.out.println("Contador click" + getCont());
            
        }
    });

    System.out.println("Contador Actual" + getCont());
    integrantesTable.setImmediate(true);

    try {
        // Insert the data and the additional component column
        for (int i = 0; i < getCont(); i++) {
            ComboBox area = new ComboBox(null);
            ComboBox area1 = new ComboBox(null);
            ComboBox area2 = new ComboBox(null);
            ComboBox area3 = new ComboBox(null);

            // Relleno los Comboboxes con lo que traigo de la base.
            RellenarTablasCombos rel = new RellenarTablasCombos();
            rel.FillcomboLegajo(area, area1, area2, area3);

            // Add an item with four components
            Object obj[] = { area, area1, area2, area3, new CheckBox() };
            integrantesTable.addItem(obj, new Integer(i));
        }

    } catch (Exception e) {
        System.out.println("no funciona el rellenar tablas");
    }

    try {
        integrantesTable.setPageLength(integrantesTable.size());
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    // ---------------------------------------------------------------------------------------------------------

Ya lo solucioné poniendo cada boton en una clase con su lógica propia.