Проблемы DockLayoutPanel с переносом текста
Поэтому я использую панель раскладки док-станции. На севере у меня есть титул, а у меню и в центре есть таблица. Моя проблема в том, что когда заголовок становится длинным и переносит текст, он толкает меню вниз, и вы больше его не видите. Это потому, что вы должны установить фиксированные размеры для всех панелей, кроме центральной.
Я думал о том, чтобы переместить все это на центральную панель, но проблема в том, что когда мой стол становится большим и появляется полоса прокрутки, я хочу всегда видеть заголовок и строку меню даже при прокрутке таблицы. Поэтому я не могу просто поместить все в панель прокрутки.
Как я могу создать макет, который удовлетворяет этим требованиям: 1. Всегда видеть заголовок и строку меню. 2. Прокручиваемую таблицу. 3. Когда размер окна изменяется, а текст из заголовка переноса корректно изменяет размер всего текста.
Вот макет прямо сейчас:
<g:DockLayoutPanel >
<g:north size="80">
<g:VerticalPanel width="100%">
<g:HorizontalPanel width="100%">
<g:HTML ui:field="title" styleName="{style.title}"></g:HTML>
</g:HorizontalPanel>
<g:HorizontalPanel styleName="{style.infoBar}" width="100%">
<g:MenuBar animationEnabled="true" styleName="{res.css.menuBar}" focusOnHoverEnabled="false" ui:field="menuBar"></g:MenuBar>
</g:HorizontalPanel>
</g:VerticalPanel>
</g:north>
<g:center>
<g:ScrollPanel>
<g:SimplePanel ui:field="content" styleName="{style.content}">Table or tree goes here
</g:SimplePanel>
</g:ScrollPanel>
</g:center>
<g:south size="20">
<g:VerticalPanel styleName="{style.footerPanel}">
<g:HTML ui:field="messageBar">Fotter text here</g:HTML>
</g:VerticalPanel>
</g:south>
</g:DockLayoutPanel>
2 ответа
Вы пытались использовать два DockLayoutPanel?
Первая имеет заголовок в центральной области, а на юге - другую DockLayoutPanel с меню в северной области и таблицей в центре?
Если заголовок и меню могут отображаться друг под другом, вы можете поместить заголовок и меню в отдельные северные панели (это на самом деле работает).
При этом вы можете по крайней мере убедиться, что меню отображается.