Как мне смешать HTMLPanel и VerticalPanel, используя GWT 2.4? - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь добавить вертикальную панель к HTML-панели. Я получаю ошибки, пытаясь добавить это в HTML-код.

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

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

Вот фрагмент кода:

<g:HTMLPanel ui:field="mainPanel" >
  //Putting verticalPanel here causes a compile error
  <table width="100%">
  //Putting verticalPanel here causes a compile error
    <tr>
  //Putting verticalPanel here causes a compile error
    <td>
            <g:Label ui:field="title"></g:Label>
    </td>
</tr>

Это хороший подход, и если да, то как мне это сделать, или есть лучший способ?

1 Ответ

2 голосов
/ 22 ноября 2011

Вам нужно прочитать javadoc виджета.

  • если виджет реализует HasText, вы можете поместить текст между его тегами
  • , если он реализует HasHTML, вы можете разместить HTMLмежду его тегами
  • в противном случае (поскольку все виджеты реализуют HasWidgets), вы можете размещать виджеты только между его тегами.
  • некоторые виджеты имеют конфигурационные вложенные теги, где имена вложенных тегов начинаются со строчной буквы.
  • некоторые виджеты допускают только один дочерний виджет.Это расширения SimplePanel.

Итак, если вы попытаетесь поместить HTML-теги между VerticalPanel, вы столкнетесь с ошибками, поскольку VerticalPanel не реализует hasText или hasHtml.

HTMLPanel делаетне реализуйте HasHTML, НО вам разрешено размещать смесь виджетов и HTML, потому что его анализатор контента специально разработан для распознавания HTML, размещенного внутри его тегов.Вот почему он называется HTMLPanel.

Следующее недопустимо и приводит к ошибке компиляции:

<g:HTMLPanel>
  <g:VerticalPanel>
    <TABLE><TR><TD>Hello</TD></TR></TABLE>
  </g:VerticalPanel>
</g:HTMLPanel>

, поскольку HTML-код находится внутри тегов VerticalPanel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...