我们可以从 DockLayoutPanel 中删除一个块(西、东、北或南块)吗?

问题描述 投票:0回答:2

我喜欢 DockLayoutPanel,因为它非常坚固。然而,有一个大问题。

这就是如何从 DockLayoutPanel 中删除一个块(西、东、北或南块)?

比方说,我得到了这个代码

   <g:DockLayoutPanel ui:field="centralDockLayoutPanel">
         <g:center>
               <g:LayoutPanel ui:field="mainPanel"/>  
         </g:center>
         <g:east size="200">
                <g:HTMLPanel ui:field="happyHTMLPanel"  width="100%" height="100%"> 
                 Some more widgets here
               </g:HTMLPanel> 
         </g:east>
   </g:DockLayoutPanel>  

我想从centralDockLayoutPanel中删除East块。所以我尝试了

getView().getCentralDockLayoutPanel().remove(getView().getHappyHTMLPanel());

但这行不通

getView().getHappyHTMLPanel().setVisible(false);

也不起作用

我们可以从 DockLayoutPanel 中删除一个块(西、东、北或南块)吗?

java gwt uibinder gwt-platform docklayoutpanel
2个回答
1
投票

你可以尝试这样做:

getView().getCentralDockLayoutPanel().remove(getView().getHappyHTMLPanel());
getView().getCentralDockLayoutPanel().forceLayout();

或者您可以隐藏面板:

getView().getCentralDockLayoutPanel().setWidgetHidden(getView().getHappyHTMLPanel(), true);
getView().getCentralDockLayoutPanel().forceLayout();

0
投票

我总是将它们的大小设置在零和非零之间,分别代表隐藏和显示。这样,您甚至可以在更改子级大小时添加一些动画。

© www.soinside.com 2019 - 2024. All rights reserved.