Детские мероприятия GWT LayoutPanel не работают - PullRequest
0 голосов
/ 18 октября 2018

Привет! У меня проблема со стороной клиента GWT, когда виджеты не получают события, когда их родитель, где-то вдоль дерева, использует GWT LayoutPanel или любой из контейнеров Layout.

Вот демонстрация супрощенный код.

Этот код работает:

    LayoutPanel layoutPanel = new LayoutPanel();

    layoutPanel.add(new SimplePanel());
    layoutPanel.add(new Button("Button1"));

    RootLayoutPanel.get().add(layoutPanel);

Кнопка подсвечивается при наведении курсора, а прикрепленный ClickHandler получает события.

Однако приведенный ниже код этого не делает.Единственным изменением было обратное добавление add () к порядку layoutPanel:

    LayoutPanel layoutPanel = new LayoutPanel();

    layoutPanel.add(new Button("Button1"));
    layoutPanel.add(new SimplePanel());

    RootLayoutPanel.get().add(layoutPanel);

Кнопка отрисована, но события не отправляются, даже события ': hover' не проходят.Проверка сгенерированного HTML показывает, что генерируется тег 'button'.

Я использую GWT 2.8.2, Google Appengine 1.9.66 и Java 8 (appengine-web.xml, настроенный для версии 2 и Java8 JRE).

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

1 Ответ

0 голосов
/ 18 октября 2018

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

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