5

CellTable のセルに画像を追加したい。ドキュメントを読んだ後、これが私がしたことです、

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

さて、テーブルには空の列があり、画像はありません。ここで何か間違ったことをしていますか?どんな提案でも大歓迎です。ありがとうございました。

4

3 に答える 3

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();
    }
  };
于 2011-07-19T13:39:50.240 に答える
9
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, "");
于 2013-01-17T10:17:21.463 に答える
5

Ionus 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を使用しない

于 2011-12-28T11:19:57.887 に答える