Something like this. Assuming you want your first column to be 100px wide 
and your rows 30px high,

FlowPanel firstColumn = new FlowPanel();
firstColumn.setSize("100px", numberOfRows * 30 + "px");
firstColumn.getElement().getStyle().setFloat("left");

for (int i = 0; i < numberOfRows; i++) {
    Label rowLabel = new Label(someText);
    rowLabel.setSize("100px", "30px");
    firstColumn.add(rowLabel);
}

FlowPanel firstRow = new FlowPanel();
firstRow.setSize((numberOfColumns * 100 - 1) + "px", "30px");

for (i = 0; i < numberOfColumns - 1; i++) {
    Label columnLabel = new Label(someText);
    columnLabel.setSize("100px", "30px");
    columnLabel.getElement().getStyle().setFloat("left");
    firstRow.add(columnLabel );
}

FlowPanel tableBody = new FlowPanel();
tableBody.setSize( (numberOfColumns * 100 - 1) + "px" , (numberOfRows - 1) 
* 30 + "px"); 

for (i = 0; i < numberOfItems; i++) {
    Label itemLabel = new Label(someText);
    itemLabel.setSize(someWidth, "30px");
    itemLabel.getElement().getStyle().setFloat("left");
    itemLabel.getElement().getStyle().setBackgroundColor(someColor);

    tableBody.add(itemLabel );
}

FlowPanel myFancyTable = new FlowPanel();
myFancyTable.setSize(numberOfColumns * 100 + "px", numberOfRows * 30 + 
"px");
myFancyTable.add(firstColumn);
myFancyTable.add(firstRow);
myFancyTable.add(tableBody);

You may need to adjust sizes of labels and panels if your CSS (or standard 
GWT CSS) introduces some styles (paddings, borders and margins) to make 
sure that labels and panels fit into their spots.

You can make it even more elegant with only one FlowPanel filled with 
floating labels, if you prefer, but it depends on how your data is 
structured. I assumed it's easier for you to create the first column, then 
the first row, and then fill the table.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/X4OYmflL5iwJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to