0

我想将段落中的每个句子都存储在 html 小部件中。例如,“我上学。学校在城里。我妈妈为我做饭。她是我爱的人”

本段中有 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);

但它为每个句子显示一个新行。这些句子不像普通段落那样一个接一个。

打印出:

我去学校。

学校在市区

我妈妈给我做饭。

她是我爱的人

但我想要这样:

我去学校。学校在市区。我妈妈给我做饭。她是我爱的人。

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

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

4

3 回答 3

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);
于 2013-05-01T15:43:55.930 回答
0

看看gwtflow panel

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

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

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

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

于 2013-05-01T15:44:31.043 回答
0

FlowPanel并且HTMLPanel两者都可以工作,但这取决于您提供给它们的小部件。HTML级小部件(根元素是 a <div>);使用 aInlineHTML代替(根元素是 a <span>)。

但是对于组装 HTML 片段,最好使用SafeHtmlBuilderDvd Prd建议的 a;除非以后必须动态更新这些片段,但您可以混合和匹配(HTMLPanel.createUniqueId()用于为小部件创建占位符)。

于 2013-05-01T15:48:58.950 回答