【问题标题】:Simple Program Help - How To Display Multiple Lines of Text in JTextAreas From An Array List?简单程序帮助 - 如何在数组列表中的 JTextAreas 中显示多行文本?
【发布时间】:2013-06-07 14:42:17
【问题描述】:

我正在尝试编写一个程序,将 5 个歌曲标题存储在一个 ArrayList“cdNames”中,并将它们输出到一个文本区域,每行一个标题,总共 5 行。

我使用.setText 方法和for loop 尝试从ArrayList 中提取5 个元素以显示5 个歌曲标题,而无需明确写出每个标题。

以下是我处理 JTextArea 的代码部分:

private void btnDisplayMouseClicked(java.awt.event.MouseEvent evt) {
for (int i = 0; i<cdNames.size();i++){
txtOutputBox.setText(cdNames.get(i));

问题在于,文本区域中唯一显示的是数组列表中的最后一个元素。

索引 #4 即滚石乐队 - 给我庇护所。

我相信 setText 方法会覆盖前面的元素并在最后停止,而不是在新行上打印出每个标题。

我认为我的问题在于我对文本区域如何显示文本的了解不足。

我是java新手,所以请尽可能简单地回答我的问题。

【问题讨论】:

    标签: java swing text netbeans jtextarea


    【解决方案1】:

    您必须使用 append() 或 insert() 参见 JTextArea

    示例(如果您的 ArrayList 有字符串)

    for (String cdName: cdNames) {
        txtOutputBox.append(cdName);
    }
    

    【讨论】:

    • 我尝试用 .append 方法替换 .setText 方法,虽然它确实显示了所有 5 个元素(歌曲标题),但它似乎将它们连接成一大行文本,而不是每行有一个歌曲标题。关于如何分隔标题的任何想法?
    • 我找到了解决方案。解决方案是使用“\n”来分隔标题。非常感谢你,尼克霍尔!
    猜你喜欢
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多