Как использовать GXT Button.setIcon / AbstractImagePrototype - PullRequest
1 голос
/ 06 июля 2011

Я пытаюсь расширить AbstractImagePrototype, как показано ниже:

открытый класс DynamicImagePrototype extends 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 = новый DynamicImagePrototype ("C: /temp/icons/reporting.gif"); item.setIcon (изображение);

Однако, это исключение.

Моя цель состоит в том, чтобы, учитывая имя файла изображения, я хочу вернуть AbstractImagePrototype, чтобы я мог перейти к Button.setIcon ();

Большое спасибо за помощь!

Ответы [ 2 ]

4 голосов
/ 18 мая 2012

Ваш класс должен быть таким:

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 голос
/ 15 июля 2011

Пока что я не нашел ответа для динамического получения AbstractImagePrototype.Я должен использовать статическое отложенное связывание, как показано ниже:

public interface ReefDesktopIconsShortcuts
extends ImageBundle
{
   AbstractImagePrototype anImage();
}

В каталоге, где находится этот интерфейс, у меня есть изображение с именем "anImage.gif".

Cheers.

...