0

代码:

ArrayList <Integer> marks = new ArrayList();

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
    Collections.addAll(marks, (Integer.parseInt(markInput.getText())));
    marks.add(Integer.parseInt(markInput.getText()));
    for (int j =0; j < marks.size(); j++) {
        markdisplayTextArea.setText(Integer.toString(marks.get(j)));
}

当用户键入并按下“添加”按钮时,该程序应该在 JTextArea 的新行中显示每个数字。

它显示每个数字,但一次只显示一个。我希望输入的每个数字都以升序显示在新行上。因此,如果用户输入了 4 个数字,例如 78、92、54 和 21,我希望它们显示如下:

21
54
78
92

4

1 回答 1

6

您正在重置代码最后一个循环中每个循环中的文本。

只需编写一个循环将数字连接成一个字符串(\n在每个数字后添加),然后将文本设置JTextArea为连接结果。由于JTextArea支持多行文本,它应该正确显示。

StringBuffer text = new StringBuffer();
for (Integer mark: marks) {
  text.append(mark.toString()).append('\n');
}
markdisplayTextArea.setText(text.toString());
于 2012-05-27T01:59:38.293 回答