如何将图像添加到GWT中cellTable中的单元格

时间:2011-05-05 19:22:58

标签: image gwt-2.2-celltable

我想在CellTable的单元格中添加图像。阅读文档后,这就是我所做的,

Column<Contact, String> imageColumn = new Column<Contact, String>(new ImageCell()) {
    @Override
    public String getValue(Contact object) {
        return "contact.jpg";
    }
  };
table.addColumn(imageColumn, "");

嗯,现在桌子上有一个空列,里面没有图像。我在这里做错了吗?任何建议表示赞赏。谢谢。

3 个答案:

答案 0 :(得分:16)

使用ImageResourceCell

interface Resources extends ClientBundle {
  @Source("image-path.png")
  ImageResource getImageResource();
}

Resources resources = GWT.create(Resources.class);

Column<Contact, ImageResource> imageColumn =
  new Column<Contact, ImageResource>(new ImageResourceCell()) {
    @Override
    public ImageResource getValue(Contact object) {
      return resources.getImageResource();
    }
  };

答案 1 :(得分:8)

Column<Contact, String> imageColumn = 
    new Column<Contact, String>(
        new ClickableTextCell() 
        {
            public void render(Context context, 
                               SafeHtml value, 
                               SafeHtmlBuilder sb)
            {
                sb.appendHtmlConstant("<img width=\"20\" src=\"images/" 
                                       + value.asString() + "\">");
            }
        })
        {
            @Override
            public String getValue(Contact object) {
                return "contact.jpg";
            }
        };
        table.addColumn(imageColumn, "");

答案 2 :(得分:5)

我想在IonuţG。Stan帖子中有错误

我想是

Column<Contact, ImageResource> imageColumn =
  new Column<Contact, ImageResource>(new ImageResourceCell()) {
    @Override
    public ImageResource getValue(Contact object) {
      resources.getImageResource();
    }
  };

所以使用 public ImageResource getValue 而不是 public String getValue