2011-07-06 2 views
1

私は以下のようにAbstractImagePrototypeを拡張しようとしています:GXT Button.setIcon/AbstractImagePrototypeの使用方法

パブリッククラスDynamicImagePrototypeがAbstractImagePrototype { プライベート文字列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; 
} 

}

Iは以下のようにそれを使用し:

アイテム=新しいボタン()=新しいDynamicImagePrototype( "C:/temp/icons/reporting.gif") DynamicImagePrototype画像。 item.setIcon(image);

ただし例外が発生します。

私の目標は、画像ファイル名が与えられた場合、AbstractImagePrototypeを返して、Button.setIcon()に渡すことです。

大変ありがとうございます!

+1

public interface ReefDesktopIconShortcuts extends ClientBundle { public static final ReefDesktopIconShortcuts INSTANCE = (ReefDesktopIconShortcuts) GWT.create(ReefDesktopIconShortcuts.class); public ImageResource anImage(); } 

ただ、このラインを呼び出しますあなた自身のバージョンを実装する..そこに他の要件がありますか? – AbstractChaos

答えて

1

これまでのところ、AbstractImagePrototypeを動的に取得するための回答は見つかりませんでした。私は以下のように静的延期バインディングを使用する必要があります。

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

このインタフェースが存在するディレクトリには、私は「anImage.gif」という名前のイメージを持っています。

乾杯。

4

あなたのクラスは、次のようにする必要があります:そのちょうど `IconHelper.create()`必要性を全く使用しないボタンのアイコンを設定する場合は

yourBtn.setIcon(AbstractImagePrototype.create(ReefDesktopIconShortcuts.INSTANCE.anImage())); 
関連する問題