【问题标题】:Put text from array list to separate lines将数组列表中的文本放在单独的行中
【发布时间】:2014-03-18 13:35:22
【问题描述】:

我有ArrayList,我在其中放置了作者、标题和值(整数)。我想将它们放在标签中并在单独的行中打印。但我得到的是文本打印在一行中。

for (Book book : listofbooks) {
    labelis.setText(labelis.getText() + "\nName: " + book.getName() + "Tile: " + book.getTitle() + "Number of books: " + book.getHowMany());
}
panel.add(labelis);

为什么\n 不起作用?

编辑:解决方案:

for (Book book : listofbooks) {

        label.setText( "<html> "
        + label.getText() 
        + "<br>Name: " + book.getName()
        + "Tile: " + book.getTitle()
        + "Number of books: " 
        + book.getHowMany()
        );

    }
    label.setText(label.getText()+ "</html>");

【问题讨论】:

    标签: java html string swing label


    【解决方案1】:

    您可以在 JLabel 中使用 HTML 标签。尝试使用该中断标记分隔您的字符串:&lt;br&gt;

        label.setText("<html> +"
                + label.getText() 
                + "<br>Name: " + book.getName()
                + "Tile: " + book.getTitle()
                + "Number of books: " 
                + book.getHowMany()
                + "</html>");
    

    注意:您的 JLabel 文本必须以开头的 &lt;html&gt; 开头并以结尾的 &lt;/html&gt; 结尾。

    【讨论】:

    • 它不起作用。 &lt;br&gt; 不创建新行,而是将文本“
      ”添加到标签中。
    • 您的标签是否以&lt;html&gt; 开头?我编辑了我的帖子。看看吧。
    • 现在只打印第一行(我有三个ArrayList 元素)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2017-12-08
    相关资源
    最近更新 更多