Можем ли мы удалить блок (запад, восток, север или юг) из панели DockLayoutPanel?

Мне нравится 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>  

Я хочу удалить восточный блок из центрального DockLayoutPanel. Итак, я попробовал

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

Но это не работает

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

также не работает

Можем ли мы удалить блок (запад, восток, север или юг) из панели DockLayoutPanel?

2 ответа

Решение

Вы можете попробовать сделать:

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

Или вы можете скрыть свою панель:

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

Я всегда делаю их размер от нуля до ненулевого значения, обозначая соответственно скрытый и отображаемый. Таким образом, вы можете даже добавить анимацию при изменении размера дочерних элементов.

Другие вопросы по тегам