我有这个我在大学工作的任务,我们必须做一个 GUI 询问用户的输入并在 JTextArea 中显示最终输出(一个 Object 类型的 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";
}
}
这是从 GUI 类调用它的 JTextArea:
public class GUI extends Team {
//buttons
/constructor
public GUI() {
frame = new JFrame("Team Manager");
frame.setLayout(new BorderLayout());
frame.setSize(300, 300);
jta = new JTextArea(super.toString());
frame.add(jta, BorderLayout.CENTER); }
JTextArea 中仅显示 toString() 的返回值,如何使其逐行显示循环?我尝试过创建一个 foreach 循环并附加结果,也尝试过 setText() 和 append() 但它们不接受类型对象,我应该怎么做呢?
for ( MyObject o : ArrayList1) {
textarea1.append( o.toString() );
}