我有火灾ValidEvent
(GXT自定义事件)的对话:在一个UiBinder文件中声明2个独立组件?
public class MyDialog extends Dialog implements HasValidHandlers {
...
}
所以,如果我将其包含在UiBinder
文件,我应该可以做这样的事情(见@UiHandler):
@UiField
MyDialog myDialog;
@UiHandler("myDialog")
void onValid(ValidEvent event) {
..
}
而且我想在一个小部件也与UiBinder
定义MyDialog
:
public class MyWidget extends Composite {
@UiField
MyDialog myDialog;
public MyWidget(Binder binder) {
initWidget(binder.createAndBindUi(this));
}
@UiHandler("myDialog")
void onValid(ValidEvent event) {
..
}
interface Binder extends UiBinder<Widget, MyWidget> {}
}
问题:将组件放在ui.xml
文件中的位置?
包括将导致作为UiBinder的将尝试添加对话框中的窗口小部件图形问题的组件的对话框:
<g:HTMLPanel>
<MyDialog ui:field="myDialog"/>
</g:HTMLPanel>
但:在uIBinder
,我只能有一个根组件。
问题:如何在单个UiBinder
文件中声明2个不同的组件?我想避免使ui.xml
只是为了声明对话框,如果我通过new
实例化它,则@UiHandler
将不起作用。