在其中制作Html小部件的哪种GWT Panel像段落中的句子一样流动?

时间:2013-05-01 15:36:13

标签: html gwt flowpanel

我想让段落中的每个句子存储在html小部件中。例如,"我去上学。学校在城市。我妈妈为我做饭。她是我爱的人#34;

本段有4个句子,我想将这些句子存储在html中。

    HTMLPanel testHTMLPanel=new HTMLPanel("<p></p>");
    HTML html1=new HTML("<b>I go to school.</b>");
    HTML html2=new HTML("<i>School is in city</i>");
    HTML html3=new HTML("<b>My mom cooks for me.</b>");
    HTML html4=new HTML("<i>She is one I love</i>");        
    testHTMLPanel.add(html1);
    testHTMLPanel.add(html2);
    testHTMLPanel.add(html3);
    testHTMLPanel.add(html4);

但它为每个句子显示了一个新行。句子并没有像正常段落那样一个接一个地出现。

打印出来:

我去上学。

学校在城市

我妈妈为我做饭。

她是我爱的人

但我想这样:

我去上学。学校在城市。我妈妈为我做饭。她是我爱的人。

注意:如果句子很长,那么句子的某些部分将显示在下一行。例如,如果我们显示这个长句&#34;这是非常长的句子...... ......其中某些部分将在下一行&#34;。 &#34;它的某些部分将在下一行&#34;将自然地像段落中的句子一样流到下一行。因此,我们不能使用标签,因为整个标签将采用整个句子。

我使用了HTMLPanel("<p></p>"),但它没有用。如何修改此HTMLPanel或任何其他可以解决问题的面板?

3 个答案:

答案 0 :(得分:0)

尝试以下方法:

SafeHtmlBuilder builder = new SafeHtmlBuilder();
builder.appendHtmlConstant("<b>I go to school.</b>");
builder.appendHtmlConstant("<i>School is in city</i>");
builder.appendHtmlConstant("<b>My mom cooks for me.</b>");
builder.appendHtmlConstant("<i>She is one I love</i>");

HTMLPanel panel = new HTMLPanel(builder.toSafeHtml());
RootPanel.get().add(panel);

答案 1 :(得分:0)

看看gwt flow panel

  

使用默认HTML布局行为格式化其子窗口小部件的面板。

它只是创建了一个你需要的html div。

当添加任何html内容时,请使用safehtml界面来隐藏您的内容。

http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/client/ui/FlowPanel.html

答案 2 :(得分:0)

FlowPanelHTMLPanel都可以使用,但这取决于您输入的小部件。 HTML级别小部件(根元素是<div>);改为使用InlineHTML(根元素是<span>)。

但是为了组装HTML,最好使用SafeHtmlBuilder作为Dvd Prd建议;除非必须稍后动态更新这些部分,但您可以混合使用(使用HTMLPanel.createUniqueId()为小部件创建占位符)。