Обработчик загрузки изображения вызывается только в том случае, когда изображение подключено к DOM. Таким образом, вы должны добавить изображение в DOM вне loadHandler:
p.add(img);
img.addLoadHandler(new LoadHandler() {
@Override
public void onLoad(LoadEvent event) {
//do some stuff, image is loaded
}
}