2013-02-13 55 views
1

我的方法返回值有問題。我創建了一個Image,我想要縮放並返回。處理程序結束後的返回值

final Image img = new Image(src); 

img.addLoadHandler(new LoadHandler() { 

    @Override 
    public void onLoad(LoadEvent arg0) { 
    resize img... 
    } 
} 

return img; 

如何在更改尺寸後將其返回?

+1

看跌。從處理程序返回值沒有這樣的事情。 – texasbruce 2013-02-13 15:35:53

+0

如果我在onLoad之後放置返回,那麼我將獲得默認的高度和寬度。 – Zaki 2013-02-13 15:37:12

+0

使用回調來返回值(類似於GWT RPC機制)。 – 2013-02-13 15:37:18

回答

2

無需返回image只是爲了重新調整大小。

Image應該先添加到DOM,然後您可以對此進行操作。

你可以做這樣的事情:任何你想要的大小調整後調整在`onLoad`功能後做

Image image = new Image(); 
     image.addLoadHandler(new LoadHandler() { 

      @Override 
      public void onLoad(LoadEvent event) { 
       // resize image 
       image.getElement().getStyle().setVisibility(Style.Visibility.Visible); 
      } 


     }); 

image.getElement().getStyle().setVisibility(Style.Visibility.HIDDEN); 
RootPanel.get().add(image); 
image.setUrl(url); 
+0

如果我做你寫的我有我的默認大小和用戶看到它是如何規模... – Zaki 2013-02-13 21:41:36

+0

是的。這是關注。查看更新的答案。 – 2013-02-14 05:15:40

+0

即使當我喜歡這個父母會調整到默認大小,但我沒有任何其他的想法。謝謝你的幫助。 – Zaki 2013-02-14 13:32:02