サーバー側でbase64イメージソースを生成し、非同期呼び出しを介してGWTクライアントに取得しています。残念ながら、コールバックが終了した後は画像が表示されません(すべてが正常に機能しています)が、2回目のコールバック後に表示されます。Imageオブジェクトを作成した直後にonLoadイベントをキャッチしようとしましたが、うまくいきませんでした。
ありがとう!
編集1
調査の結果、寸法の問題です。つまり、base64が存在し、画像タグが正しく作成されていますが、幅と高さの両方が0に設定されています。
編集2
これは私がウェブサイトに画像を配置する方法です:
import net.customware.gwt.dispatch.server.Dispatch
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Image;
dispatch.execute(action, new AsyncCallback<GenerateImageResult> () {
@Override
public void onFailure(Throwable caught) {};
@Override
public void onSuccess(GetCarpetasResult result) {
String base64 = result.getBase64();
Image image = new Image(base64);
RootPanel.get().add(image);
}
});