2012-07-04 99 views
1

我使用gwt創建了一個小型CellTable。在那張表中,我想添加一些圖片。 對此,我使用下面的代碼:Gwt在ImageCell中更改圖像大小

Column<Company, String> columnflag = new Column<Company, String>(new ImageCell()) { 
    public String getValue(Company company) { 
     return company.getImageSmall(); 
    } 
    }; 

這工作正常。但我想改變圖像的大小?有誰知道我該怎麼做?我沒有發現任何東西...設置固定列的寬度和高度並沒有幫助。

格爾茨

回答

4

你可以試試下面的代碼:

ImageCell imageCell = new ImageCell() { 
    @Override 
    public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) { 
     super.render(context, value, sb); 
     String imagePath = "images/yourImage.png"; 
     sb.appendHtmlConstant("<img src = '"+imagePath+"' height = '20px' width = '20px' />"); 

    } 
}; 
Column<Company, String> columnflag = new Column<Company, String>(imageCell) { 
    @Override 
    public String getValue(Form object) { 
      return ""; 
    } 
}; 
+1

好了,工作得非常好,但我怎麼能傳遞'imagePath'到'render'方法? – hofmeister

+0

呃,實際上這個解決方案有點棘手。將會添加兩個''一個是空的,另一個包含圖像。無用切換其他圖像。也不可能爲'imagePath'傳遞一個動態值,或者? 還有其他解決方案嗎? – hofmeister

+2

@Taz,你想顯示基於不同公司的圖像嗎?如果你想這樣做,那麼在render()方法中,你可以在context.getKey()的幫助下獲得Company對象。 Context.getKey()將爲您提供公司對象,您可以從中獲取圖像。 – JankiPanwala