use*_*306 0 java swing arraylist jtextarea
码:
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)));
}
Run Code Online (Sandbox Code Playgroud)
当用户输入JTextArea并按下"添加"按钮时,该程序应该在JTextArea的新行上显示每个数字.
它显示每个数字,但一次只显示一个.我希望输入的每个数字都以升序显示在新行上.因此,如果用户输入了4个数字,比如78,92,54和21,我希望它们显示如下:
21
54
78
92
您正在重置代码的最后一个循环中的每个循环中的文本.
只需编写一个循环来将数字连接成一个String(\n在每个数字后添加),然后将文本设置JTextArea为连接结果.由于JTextArea支持多行文本,因此应正确显示.
StringBuffer text = new StringBuffer();
for (Integer mark: marks) {
text.append(mark.toString()).append('\n');
}
markdisplayTextArea.setText(text.toString());
Run Code Online (Sandbox Code Playgroud)