1
使用GWT我正在用ClickHandler显示图片缩略图,然后在居中的PopupPanel中显示完整图片(可能为几MB)。为了让它居中,必须在显示弹出窗口之前加载图像,否则图像的左上角放置在屏幕中间(图像认为它是1px大)。这是我使用这样做代码:在居中的PopupPanel中显示GWT图片onLoad
private void showImagePopup() {
final PopupPanel popupImage = new PopupPanel();
popupImage.setAutoHideEnabled(true);
popupImage.setStyleName("popupImage"); /* Make image fill 90% of screen */
final Image image = new Image();
image.addLoadHandler(new LoadHandler() {
@Override
public void onLoad(LoadEvent event) {
popupImage.add(image);
popupImage.center();
}
});
image.setUrl(attachmentUrl + CFeedPostAttachment.ATTACHMENT_FILE);
Image.prefetch(attachmentUrl + CFeedPostAttachment.ATTACHMENT_FILE);
}
然而,LoadEvent
事件从来没有发射,因此图像永远不会显示。我该如何克服这一点?我想避免使用http://code.google.com/p/gwt-image-loader/,因为如果我可以避免它,我不想添加额外的库。谢谢。
这真的很老,但只是想让你知道这真的帮了我。我总是会遇到问题,让负载监听器能够正常工作,这是唯一可以解决问题的解决方案。谢谢! – rjcarr 2015-12-31 21:05:16
@rjcarr - 很高兴帮助:)是的,这是很久以前。我不再与GWT一起工作xD – 2016-01-11 05:40:32