私は大学で働いているこの割り当てを持っています。ユーザーからの入力を求める 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); }
toString() の戻り値だけが JTextArea に表示されていますが、ループを 1 行ずつ表示するにはどうすればよいですか? foreach ループを作成して結果を追加しようとしましたが、setText() と append() も試しましたが、型オブジェクトを取りません。これを行うにはどうすればよいですか?
for ( MyObject o : ArrayList1) {
textarea1.append( o.toString() );
}