Wie mische ich HTMLPanel und VerticalPanel mit GWT 2.4?

  • Ich versuche, einem HTMLPanel ein verticalPanel hinzuzufügen. Ich bekomme Fehler beim Versuch, dies in den HTML-Code einzufügen.

    Ich versuche, ein Bedienfeld zu erstellen, das einen Rahmen um meine Widgets bildet. Da es sich eher um ein vertikales Ausrichtungsmuster handelt, entschied ich mich für verticalPanel.

    Ich erhalte Kompilierungsfehler, wenn ich versuche, außerhalb meiner HTML-Tabellen-, tr- oder td-Tags hinzuzufügen, aber ich dachte, ich wollte dies tun, um einen Rahmen anzuzeigen.

    Hier ist ein Code-Snippet:

     <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>
     

    Ist dies ein guter Ansatz und wenn ja, wie mache ich das oder gibt es einen besseren Weg?

    22 November 2011
    James Drinkard
1 answer
  • Sie müssen den Javadoc eines Widgets lesen.

    • Wenn ein Widget HasText implementiert, können Sie Text zwischen seine Tags einfügen.
    • Wenn HasHTML implementiert wird, können Sie HTML-Code zwischen den Tags einfügen.
    • . Andernfalls (da alle Widgets HasWidgets implementieren), können Sie nur Widgets zwischen den Tags platzieren.
    • Einige Widgets verfügen über konfigurierbare Untertags, wobei die Namen der Untertags in Kleinbuchstaben beginnen.
    • Einige Widgets lassen nur ein untergeordnetes Widget zu. Dies sind Erweiterungen von SimplePanel.

    Wenn Sie also versuchen, HTML-Tags zwischen ein VerticalPanel zu setzen, treten Fehler auf, da VerticalPanel hasText nicht implementiert oder hasHtml.

    HTMLPanel implementiert kein HasHTML. ABER Sie dürfen eine Kombination aus Widgets und HTML-Code platzieren, da der Inhalts-Parser speziell für die Erkennung von HTML-Code in den Tags konzipiert ist. Deshalb wird es HTMLPanel genannt.

    Folgendes ist nicht akzeptabel und führt zu einem Kompilierungsfehler:

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

    , da sich der HTML-Code innerhalb der VerticalPanel-Tags befindet.

    22 November 2011
    Blessed Geek