вызов функции click () как программно в GWT - PullRequest
5 голосов
/ 20 октября 2010

я хочу вызвать функцию события click для кнопки в GWT ... Я попробовал этот код, но он не работает ..

Button btnAddField = new Button();
btnAddField.setText("Add");
btnAddField.setWidth("225px");
btnAddField.addClickHandler(new btnAddFieldButtonClickListener());  


private class btnAddFieldButtonClickListener implements ClickHandler{   
        public void onClick(ClickEvent event) {
Window.alert("Called Click Event");
}
}

эта функция будет вызываться при нажатии на кнопку но он не вызывает при вызове этой функции btnAddField.click()

Ответы [ 2 ]

6 голосов
/ 10 июня 2011

Вы также можете попробовать:

view.btnAddField.fireEvent(new ClickEvent() { } );

(Это небольшой взлом, потому что com.google.gwt.event.dom.client.ClickEvent имеет защищенный конструктор.)

или

DomEvent.fireNativeEvent(Document.get().createClickEvent(0, 0, 0, 0, 0,
            false, false, false, false), view.btnAddField);

Тогда,в обоих случаях нет необходимости создавать отдельные классы и нарушать инкапсуляцию для обработчиков, чтобы протестировать события щелчка.

2 голосов
/ 20 октября 2010

Я решаю эту проблему с помощью этого кода

btnAddField.fireEvent(new ButtonClickEvent ())

private class ButtonClickEvent extends ClickEvent{
        /*To call click() function for Programmatic equivalent of the user clicking the button.*/
    }

Теперь он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...