在Flextable上设置小部件

时间:2013-03-08 20:11:47

标签: java gwt

我使用此代码使用FlexTable在网格布局中渲染产品:

        @Override
        public void onSuccess(Map<Long, Product> mp) {
            int i = 0;
            int j = 0;

            GWT.log("Success list all products count="+mp.size());

            Iterator it = mp.entrySet().iterator(); 
            while (it.hasNext()) {
                Map.Entry pairs = (Map.Entry)it.next();

                Product product = (Product) pairs.getValue();
                ProductWidget pw = productInstance.get();
                pw.setTitle(product.getName());
                pw.setImageUrl(product.getImageUrl());
                pw.setContent(product.getInfo());

                flextable.setWidget(i, j, pw);
                i = j > 3 ? i : i++;
                j++;
                it.remove(); // avoids a ConcurrentModificationException
            }   

        }

Map mp返回4要呈现为窗口小部件的产品,但只有3在Flextable上呈现,这段代码可能有什么问题?

1 个答案:

答案 0 :(得分:0)

flextable.setWidget(i, j, pw);
i = j > 2 ? i++:i;
j = j > 2 ? 0 : j++;

我认为这会成功。 3列和无限行。