我正在尝试编写一个程序,在ArrayList“cdNames”中存储5个歌曲标题,并在文本区域输出它们,每行一个标题,总共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,即滚石乐队 - Gimme Shelter。
我相信setText方法会覆盖以前的元素并停在最后一个元素,而不是在新行上打印出每个标题。
我认为我的麻烦在于我对文本区域显示文本的方式知之甚少。
我是java的新手,所以如果可能的话,请尽量回答我的问题。
答案 0 :(得分:0)
您必须使用append()或insert(),请参阅JTextArea
示例(如果您的ArrayList具有字符串)
for (String cdName: cdNames) {
txtOutputBox.append(cdName);
}