如何使用最大行元素向网格添加小部件

时间:2015-07-13 08:13:30

标签: java gwt smartgwt gxt

我很久AarrayList<Image> imageList。当我试图将此列表中的每个图像都放到网格中时,我只有最新的图像。

我的代码:

final int columnCount =3; //max images in the row
        final int rowCount = (int) Math.ceil((double) data.size()/columnCount);

    Grid grid = new Grid(rowCount, columnCount);

    for (int i=0; i< imageList.size(); i++) {
        for (int row = 0; row < rowCount; row++) {
            for (int col = 0; col < columnCount; col++) {
                grid.setWidget(row, col, imageList.get(i));
            }
        }
    }

你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这是for循环中的逻辑错误。 你总是只用imageList

中的最后一个图像覆盖元素 你可以尝试这样的事情:

    int row = 0;
    int col = 0;
    for (Image image : imageList) {
        grid.setWidget(row, col, image);
        col++;
        if (col > 2) {
            col = 0;
            row++;
        }
    }