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