Предложение:
Попробуйте научиться использовать UiBinder (добавлено в GWT 2.0).
В вашем случае вы могли бы сделать:
yourView.ui.xml
...
<g:Button ui:field="btnName" />
...
yourView.java
public class yourView extends Composite {
interface MyUiBinder extends UiBinder<LayoutPanel, yourView> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@UiField Button btnName;
public yourView() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiHandler("btnName")
void handleClick(ClickEvent e) {
//Do whatever
}
}
С помощью "@UiHandler" вы можете добавить любой обработчик, который может поддерживать виджет (реализует Has **** Handler). Добавить другой элемент в эту структуру легко и быстро, и вы можете добавить любой обработчик к нему. @UiField создает переменную, содержащую экземпляр элемента, которым можно манипулировать в любом месте вашего класса.