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 の新しい行に各数値を表示することになっています。

各番号が表示されますが、一度に 1 つだけです。入力した各数値を昇順で新しい行に表示したい。ユーザーが 4 つの数字、たとえば 78、92、54、21 を入力した場合、次のように表示します。

21
54
78
92

4

1 に答える 1

6

コードの最後のループのすべてのループでテキストをリセットしています。

数値を 1 つの文字列に連結するループを記述し (\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 に答える