【发布时间】:2016-07-21 13:41:09
【问题描述】:
对于一个高中项目,我创建了一个 for 循环来显示我初始化的 5 首歌曲。我把它放在一个名为 btnInitializeActionPerformed 的按钮下,所以当按下初始化按钮时,它会显示歌曲,但是它只显示最后一首歌曲,我做错了什么?
这是循环
Collections.addAll (strSongArtist, "Dont Stop Believing", "this", "hello", "Think", "No");
for (int i = 0; i < strSongArtist.size(); i++) {
String valueContent = strSongArtist.get(i);
txtOutput.setText( valueContent);
}
当我在 for 循环中像这样显示 strSongArtist 时:
System.out.println(strSongArtist.get(i));
顺便说一句,我的老师举了一个这样输出代码的例子:
txtOutput.setText( strSongArtist.get(rn.nextInt(strSongArtist.size())).toString());
但我也不知道怎么用?
【问题讨论】:
-
什么是txtOutput?一个 JTextField?一个 JTextArea?您正在将该文本组件中的任何字符串替换为下一个字符串,因此只显示最后一个。如果是 JTextArea,则要使用 append 而不是 setText。
-
txtOutput.setText( valueContent);将替换文本而不是附加。一个简单(但不是最佳或设计良好)的解决方案是txtOutput.setText( txtOutput.getText() + ", " + valueContent);。
标签: java swing user-interface