2016-05-18 2 views
-1

Есть ли какой-либо способ, чтобы окно занимало столько места, сколько нужно его детям?Как сделать размер родительского окна подходящим для детей zk?

<window id="ecDialog" title="${resolver.nls.mes_hdEmptyCompleteDialogTitle}" 
    closable="true" sizable="true" mode="modal" border="normal" 
    apply="com.camline.skmes.mes.webgui.controller.dialog.EmptyCompleteDialogController"> 

    <borderlayout> 
     <center style="padding: 5px 5px;"> 
      <vbox vflex="min" align="center" pack="center"> 
       <label id="confirmText" style="font-size:150%;"/> 
      </vbox> 
     </center> 

    </borderlayout> 
</window> 

Прямо сейчас, я вижу только строку заголовка и не выделяет никакого пространства для фактического содержания (BorderLayout). Я хочу, чтобы окно было таким же большим, чтобы соответствовать тексту, хотя бы длинный текст может быть. Я попытался установить vflex = "min" и hflex = "min", но ничего не изменил.

В основном та же функция, как MessageBox

ответ

0

Вы сделали ошибку, б установки vflex="min" к неправильной компоненте.
Пожалуйста, попробуйте следующее:

<window id="ecDialog" title="testWindow" closable="true" sizable="true" mode="modal" border="normal" vflex="min"> 
    <borderlayout> 
     <center style="padding: 5px 5px;" vflex="min" hflex="1"> 
      <vbox align="center" pack="center"> 
       <label id="confirmText" style="font-size:150%;" value="test case" hflex="1"/> 
      </vbox> 
     </center> 
    </borderlayout> 
</window> 

Link to fiddle where you can see the result of this zul.

+0

Спасибо. Мне удалось заставить его работать, поместив метку в div:

\t \t \t

+0

попробовал сейчас, те же результаты. Работа div tho –

+1

Если вам не нужен vbox, всегда старайтесь его избегать. Выберите вместо этого div или vlayout. Это намного лучше в html – chillworld

Смежные вопросы