1

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

我使用.setText方法和 afor 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新手,所以请尽可能简单地回答我的问题。

4

1 回答 1

0

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

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

for (String cdName: cdNames) {
    txtOutputBox.append(cdName);
}
于 2013-04-27T19:15:22.037 回答