Java 要在JTextArea中显示输出的对象类型的ArrayList

Java 要在JTextArea中显示输出的对象类型的ArrayList,java,swing,arraylist,jtextarea,Java,Swing,Arraylist,Jtextarea,我在大学里为这个作业工作,我们必须做一个GUI,要求用户输入,并在JTextArea中显示最终输出(对象类型的ArrayList),它们在不同的类中。问题是它只显示我覆盖的toString()方法的返回。这是我的代码,这是非GUI类中的toString方法: @Override public String toString() { int u = 1; System.out.println("Team " + name + " has " +

我在大学里为这个作业工作,我们必须做一个GUI,要求用户输入,并在JTextArea中显示最终输出(对象类型的ArrayList),它们在不同的类中。问题是它只显示我覆盖的toString()方法的返回。这是我的代码,这是非GUI类中的toString方法:

  @Override
    public String toString() {



        int u = 1;

        System.out.println("Team " + name + " has " + players.size() + " players");
        for(int i=0; i< players.size();i++)  {
            System.out.print(u++ + ".");
            System.out.println(players.get(i));
        }
              return "Team " + name + " has " + size + " players";

}
        }
JTextArea中只显示toString()的返回值,如何使其逐行显示循环?我尝试过创建foreach循环并附加结果,也尝试过setText()和append(),但它们不接受类型对象,我应该如何做呢

              for ( MyObject o : ArrayList1) {
                textarea1.append( o.toString() );
                  }

尝试在for循环内的toString()中返回结果,并改用textarea1.setText(…)。

如果要将文本分隔为行,请使用
textArea.setLineWrap(true)

也不要像@SHA33所说的那样使用
setText()。据我所知,这种方法只需更改JTextArea中的文本。使用
append
方法。如果要分隔文本,也可以在每行末尾追加
\n

您还可以查看以下文章:

  • 这个怎么样

    String str = "";
    for ( MyObject o : ArrayList1) {
        str = str + o.toString();
    }
    textarea1.setText(str);
    

    为什么不在每个MyObject后面追加新行“\n”?i、 e.{textarea1.append(o.toString());textarea1.append(“\n”);}完全同意,使用get/setDocument作为JTextComponents的模型
    String str = "";
    for ( MyObject o : ArrayList1) {
        str = str + o.toString();
    }
    textarea1.setText(str);