Как заставить родительский компонент прослушивать события, запускаемые дочерними компонентами, используя шину событий в gwt

У меня есть пользовательская панель с несколькими компонентами, например. кнопка и текстовое поле.

После нажатия кнопки мне нужна пользовательская панель, которая также является родительской панелью, получает событие и решает, что делать, например, вызывать setText в текстовом поле.

Можно ли добиться этого с помощью шины событий?

Это означает, что дочерние компоненты не должны обрабатывать свое событие, а затем передавать его.


person Komal Goyal    schedule 27.02.2014    source источник
comment
Почему вы хотите это сделать? Вам придется написать гораздо больше кода, чем просто прикрепить обработчики к вашей кнопке и текстовому полю. Как правило, вам нужен EventBus, когда у вас есть события, которые работают в разных представлениях или влияют на несколько виджетов.   -  person Andrei Volgin    schedule 27.02.2014
comment
EventBus не подходит для этого варианта использования. Вам нужно управлять этой логикой в ​​Presenter. Вы добавляете ClickHandler на кнопку, а затем обновляете то, что должно быть обновлено в методе OnClick. Зачем нужно уведомлять панель?   -  person Momo    schedule 01.03.2014
comment
Возможный дубликат Как использовать GWT EventBus   -  person Boris the Spider    schedule 28.01.2016


Ответы (1)


Я не знаю точных классов и того, как они работают вместе. Но, конечно, вы можете использовать GWT EventBus для достижения этой цели. Запустите событие в классе кнопок и обработайте это событие на пользовательской панели. Вы можете поискать в Google или найти похожие ответы здесь, в stackoverflow. Я думаю, что этот ответ поможет вам: Как использовать GWT EventBus

Довольно просто запускать события и обрабатывать эти события в других классах вашего приложения.

person ORDIX team    schedule 25.04.2014