如何在 JTextArea 中显示 ArrayList

How can I display an ArrayList in a JTextArea

我需要在 JTextArea 中显示 ArrayList 的元素,包括在每个元素之后换行。但是,代码现在在一行中显示所有元素,以逗号分隔;以及左括号和右括号“[]”。现在的代码如下:

public void imprimirLista(ArrayList<Ausente> a) {
    for (Ausente s: a) {
        txtAreaAusentes.setText(a.toString());
    }
}

如何在没有逗号和括号的情况下打印它们?

您应该在输出中将 a 替换为 s

String output = "";
for (Ausente s: a) {
   output += s.toString() + "\n";
}

txtAreaAusentes.setText(output);

同样先构建输出 String,然后将文本区域设置为 output String。如果您想提高效率,可以使用 StringBuilder...

您还可以append文本:

public void imprimirLista(ArrayList<Ausente> a) {
    for (Ausente s : a) {
        txtAreaAusentes.append(s.toString() + "\n"); // New line at the end
    }
}

尝试使用 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());
}