我想添加一個點擊處理程序的圖像,改變圖像的大小。 Blob存儲區允許一個容易通過改變URL的後綴改變圖像的大小,爲「= S128」將改變圖像128點的像素在下面的行:GWT圖像點擊處理程序,改變圖像的大小
im.setUrl(thing.get(i)+"=s128");
欲使用該功能單擊後更改圖像的大小;在這個例子中改回原來的大小,如:
//-- when clicked, do this:
im.setUrl(thing.get(i));
,我想下面的代碼將做到這一點的一組圖片:
for (int i=0; i<thing.size(); i++){
final Image im = new Image();
im.setUrl(thing.get(i)+"=s128");
im.addClickHandler(new ClickHandler(){
public void onClick(ClickEvent event){
im.setUrl(response.get(i));
}
});
htmlpanel.add(im,"imageGrid");
}
但第二個「setUrl」行給出我這個錯誤:
Multiple markers at this line - Cannot refer to a non-final variable response inside an inner class defined in a different method - Cannot refer to a non-final variable i inside an inner class defined in a different method
我該怎麼做?謝謝。
感謝jusio。這解決了這個問題。你能不能補充一下你的答案,爲什麼在這種情況下這些變量應該是最終的? – aez 2012-02-12 04:09:40