【问题标题】:GWT LayoutPanel children events not workingGWT LayoutPanel 子事件不起作用
【发布时间】:2019-03-23 17:00:15
【问题描述】:

您好,我遇到了 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 显示正在生成“按钮”标签。

我正在使用 GWT 2.8.2、Google Appengine 1.9.66 和 Java 8(为版本 2 和 Java8 JRE 配置的 appengine-web.xml)。

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

【问题讨论】:

    标签: google-app-engine gwt


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多