[GWT]为什么我找不到已添加到css布局容器的小部件?

时间:2016-06-02 02:14:58

标签: gwt gxt

import com.sencha.gxt.widget.core.client.container.CssFloatLayoutContainer;

public class myApp{
  private CssFloatLayoutContainer a;
  private CssFloatLayoutContainer b;

  private Image aButton;
  private Image bButton;

  private IsWidget getIcons() {
        a= new CssFloatLayoutContainer();
        a.setStyleFloat(Float.RIGHT);
        b= new CssFloatLayoutContainer();
        b.setStyleFloat(Float.RIGHT);

        // Icon a
        a.add(aButton);

        // Icon b
        a.add(bButton);
        b.add(bButtion);

        if (true) {
            a.hide();
            return b;
        } else {
            return a;
        }
   }

}

我无法在我的页面中找到bButton,然后检查了源代码,发现它只有一个按钮。有谁能告诉我为什么会出现这种情况?

2 个答案:

答案 0 :(得分:0)

同一个小部件不能属于两个不同的父小部件。

您必须创建bButton的另一个副本,或者每次在if方法中切换容器时都需要将其添加到新父级。

答案 1 :(得分:0)

我发现另一个Q& A可能更有帮助,更容易理解。

Adding same widget to two panel causing issue