ページに画像を追加する宣言型/UIバインダー方式を使用しています。ImageBundle
これは、 GWTが提供する機能の使用と組み合わせて使用されます。
私がやりたいのは、画像にカーソルを合わせたときに画像を変更することです。私の質問は次のとおりです。これを行うための最良の方法は何ですか、そして私の現在の方法はそもそも最良の方法ですか?
私のコードは次のようになります。
<ui:with field='res' type='path.to.my.app.AppResources' />
...
<g:HorizontalPanel ui:field='horizPanel' >
<g:Image ui:field='image1' resource='{res.image1}'/>
</g:HorizontalPanel>
ImageBundle
次に、を介してクラスに関連付けられAbstractImagePrototype
ます。
次に、メインハンドラーに次のようなものがあります。
@UiHandler("image1")
public void onMouseOver(MouseOverEvent event)
{
/* What do I do here? */
}
ユーザーがimage1にカーソルを合わせたときにimage1をimage2に置き換えたいと言います(そしてポインターが画像を離れたときにimage1を戻します)。image1オブジェクトを置き換えますか?その画像にsetUrl関数を使用しますか?まったく新しい画像を作成し、水平パネルの追加/削除機能を使用して画像を追加しますか?それはひどく非効率的なようです。私も必要ありませんImageBundle
;; のようなものを介して画像を追加し<g:Image .... url='path/to/image1.png' />
、CSSとホバー属性を使用して画像を交換できますか?
いくつかのガイダンスは素晴らしいでしょう。GWTのドキュメントは、この分野で深刻に欠けています。ありがとう。