Как заставить GWT 2.0 принимать клики по двум разным виджетам, добавленным в LayoutPanel?

Используя GWT 2.0, у меня есть точка входа, которая добавляет два виджета в LayoutPanel, которые, в свою очередь, добавляются в RootLayoutPanel. Виджеты обрабатывают события кликов и имеют зарегистрированные для них события кликов. Проблема в том, что на самом деле можно щелкнуть только последний виджет, добавленный в LayoutPanel. Переключение порядка добавления виджетов переключает работающий виджет. Добавьте другие виджеты, и все же вы можете щелкнуть только последний, добавленный в LayoutPanel.

Любая идея, почему это? Есть ли какая-то причина такого поведения, или я неправильно понял, что происходит под одеялом? Как заставить все виджеты в LayoutPanel принимать события? Должен ли я использовать другой класс панели?

Меня не слишком беспокоит, если LayoutPanel предотвращает щелчок по чему-либо под ним, но хочу, чтобы все виджеты, добавленные к нему, были интерактивными.


gwt
person Kerr    schedule 14.04.2010    source источник
comment
Как вы добавляете обработчики кликов? Можете ли вы вставить соответствующие разделы кода? Это должно работать. Я предполагаю, что в том, как вы добавляете обработчики, есть какая-то ошибка.   -  person Sripathi Krishnan    schedule 14.04.2010
comment
Вот почему я использую FocusPanel в таких ситуациях — пусть команда GWT заботится об обработке ClickHandlers, а не я;)   -  person Igor Klimer    schedule 14.04.2010
comment
Я только что попытался построить очень упрощенный тестовый пример, чтобы продемонстрировать проблему. Но проблема не появилась. Я обновлю через минуту с дополнительной информацией.   -  person Kerr    schedule 14.04.2010


Ответы (1)


Глупый мальчик! (сказал голос капитана Мейнваринга)

Нет проблем с двумя виджетами на LayoutPanel, принимающими клики. Но если вы отрегулируете размер виджетов, напрямую управляя стилями их элементов, то содержащий их элемент, созданный LayoutPanel, по-прежнему будет занимать весь экран. По сути, последний добавленный виджет всегда покрывал все остальное.

Школа GWT: D- Надо стараться. Легко отвлекающийся...

person Kerr    schedule 14.04.2010