2009-12-23 3 views
3

Мне нравится новый GWT2 UiBinder, однако неясно, достижимы ли некоторые вещи с помощью декларативного стиля пользовательского интерфейса.UiBinder работает с ToggleButton

Например, ToggleButton принимает только экземпляры изображения во время построения (без настроек для изображений вверх/вниз). Насколько я понимаю, UiBinder работает в подобном JavaBean рефлексивном способе, где присваиваемые атрибуты сопоставляются с соответствующими сеттерами. Является ли этот стиль возможным с помощью виджетов, таких как ToggleButton, где определенные атрибуты должны быть указаны во время строительства?

<g:ToggleButton ui:field="myBtn"></g:ToggleButton> 

ответ

0

Вы можете создать эти виджеты, используя @UiFactory или путем предоставления его с помощью @UiField(provided=true)

См http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html#Using_a_widget

+0

Спасибо за ответ, но я должен сказать, что это отстой. Я закончил создание своего собственного подкласса ToggleButton, предоставляя изображение вверх/вниз в конструкторе, а в ui.xml ссылаюсь на мой настраиваемый виджет ... – EnToutCas

0

Попробуйте что-то вроде этого:

<g:ToggleButton> 
    <ui:image src="..." /> 
</g:ToggleButton> 
3

Moriarity @ Matt: Спасибо за наконечник! Я нашел, что я должен был сделать это следующим образом:

<g:ToggleButton ui:field="foo"> 
    <g:upFace><img src="images/bar.png"/></g:upFace> 
</g:ToggleButton> 

Если вы не укажете другое лица (например, downFace), что изображение используется для всех состояний кнопок.

Редактировать: Я думаю, вы используете ui: image, когда вы формально указываете external resources?

Смежные вопросы