Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: KerrОтветов: 1

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

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

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

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

gwt

Ответы

Ответ 1 · Kerr

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы