HTMLPanel在GWT中setVisible(false)之后不会消失

HTMLPanel在GWT中setVisible(false)之后不会消失,gwt,visibility,Gwt,Visibility,我有一个包含一些元素的HTMLPanel <g:HTMLPanel ui:field="panel"> <div>One</div> <div>Two</div> </g:HTMLPanel> 但是当我设置panel.setVisiblefalse时,内部divs仍然可见。在firebug中,我的面板是 <div aria-hidden="false"> <div>One</

我有一个包含一些元素的HTMLPanel

<g:HTMLPanel ui:field="panel">
   <div>One</div>
   <div>Two</div>
</g:HTMLPanel>
但是当我设置panel.setVisiblefalse时,内部divs仍然可见。在firebug中,我的面板是

<div aria-hidden="false">
   <div>One</div>
   <div>Two</div>
</div>

为什么我的内部元素仍然可见,为什么HTMLPanel不可见。请给我解释一下。如果我的解决方案不是最好的,请给我更好的建议。

如果您直接在ui中编写HTML,GWT内部的ui.xml将不会嵌套它,因为它只嵌套GWT小部件

因此,从ui.xml中删除div,并在IMPL类中使用以下命令:

HTML html = new HTML("<div>One</div> <div>Two</div>");
panel.add(html);

可以检查2个子div元素的运行时显示属性吗?2个子div还具有用户代理样式表div{display:block;}
div{
   display:block;
}
HTML html = new HTML("<div>One</div> <div>Two</div>");
panel.add(html);