GWT LayoutPanel 子事件不起作用

GWT LayoutPanel children events not working

您好,我有一个 GWT 客户端问题,当小部件的父项在树的某处使用 GWT LayoutPanel 或任何布局容器时,小部件未接收到事件。

这里有一个简化代码的演示。

此代码有效:

    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) .

我有一个更复杂的 GUI 也有同样的问题,我只是把它归结为上面的例子来演示这个问题。

因为你没有为添加的小部件指定任何布局选项,你实际上是将它们叠加在一起,所以在第二种情况下,按钮位于简单面板的后面,它是透明的,所以我没有' 在视觉上隐藏按钮。