我需要在JTextArea中显示ArrayList的元素,包括每个元素后面的新行。但是,代码现在将所有元素显示在一行中,以逗号分隔;并打开和关闭括号“[]”。现在的代码如下:
public void imprimirLista(ArrayList<Ausente> a) {
for (Ausente s: a) {
txtAreaAusentes.setText(a.toString());
}
}
如何在没有逗号和支架的情况下打印它们?
答案 0 :(得分:2)
您还可以append文字:
public void imprimirLista(ArrayList<Ausente> a) {
for (Ausente s : a) {
txtAreaAusentes.append(s.toString() + "\n"); // New line at the end
}
}
答案 1 :(得分:1)
尝试使用txtAreaAusentes.append(s.toString());
我注意到的一点是,这将附加到该字段中可能存在的任何现有文本。如果要清除该文本,则将函数更改为
public void imprimirLista(ArrayList<Ausente> a) {
StringBuilder sb = new StringBuilder();
for (Ausente s: a) {
sb.append(s.toString());
}
txtAreaAusentes.setText(sb.toString());
}
答案 2 :(得分:0)
您应该在输出中将a
替换为s
:
String output = "";
for (Ausente s: a) {
output += s.toString() + "\n";
}
txtAreaAusentes.setText(output);
首先构建输出String
,然后将文本区域设置为output
String
。如果您想提高效率,可以使用StringBuilder