For whatever reason, Vaadin’s GridLayout uses (COL,ROW) pairing, which throws me every time because the rest of the world looks at a grid as (ROW,COL).
Your third element should be on (2,1). Of course, don’t know if that solves your issue or not, but GridLayout has worked okay for me though I’ve done my COLSPAN-like configuration than ROWSPAN. Good luck!
Again, not really sure, but your cell1 and cell2 are not directly in the grid, but are in another container (panel) that you stored in the grid, so those two cells won’t be aligned with other cells you put directly in the grid.
Well, actually the solution is there.
You just have to set the rowspan and colspan for all the empty cells.
For the example, you explained in your first post, I’d create a dummy Label with a Color similar to the background and add it by .addComponent(1,0,2,0);
Worked for me!