如何使用GXT Button.setIcon / AbstractImagePrototype

时间:2011-07-06 14:50:53

标签: gxt

我正在尝试扩展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();

非常感谢您的帮助!

2 个答案:

答案 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”的图像。

干杯。