我正在尝试扩展AbstractImagePrototype,如下所示:
公共类DynamicImagePrototype扩展AbstractImagePrototype { private String imagePath = null;
public DynamicImagePrototype (String imagePath) {
this.imagePath = imagePath;
}
@Override
public void applyTo(Image image)
{
}
@Override
public Image createImage() {
// TODO Auto-generated method stub
Image image = new Image(imagePath);
return image;
}
@Override
public String getHTML() {
return null;
}
}
我用它如下:
item = new Button() DynamicImagePrototype image = new DynamicImagePrototype(“C:/temp/icons/reporting.gif”); item.setIcon(图像);
然而,它抛出异常。
我的目标是给定一个图像文件名,我想返回一个AbstractImagePrototype,这样我就可以传递给Button.setIcon();
非常感谢您的帮助!
答案 0 :(得分:4)
你的课应该是这样的:
public interface ReefDesktopIconShortcuts extends ClientBundle {
public static final ReefDesktopIconShortcuts INSTANCE = (ReefDesktopIconShortcuts) GWT.create(ReefDesktopIconShortcuts.class);
public ImageResource anImage();
}
请拨打以下电话:
yourBtn.setIcon(AbstractImagePrototype.create(ReefDesktopIconShortcuts.INSTANCE.anImage()));
答案 1 :(得分:1)
到目前为止,我还没有找到动态获取AbstractImagePrototype的答案。我必须使用静态延迟绑定,如下所示:
public interface ReefDesktopIconsShortcuts
extends ImageBundle
{
AbstractImagePrototype anImage();
}
在此界面所在的目录中,我有一个名为“anImage.gif”的图像。
干杯。