NO, non mi funziona neanche cosi....
Forse la JTextArea ha bisogno di un repaint() prima della scrittura?
Allora ho rifatto tutto da capo ed ho rifatto le classi indipendenti : CampoGioco, GameFrame e AreaPanel.
CampoGioco contiene le system.out che devo mettere sulla JTextArea
GameFrame costruisce il frame
AreaPanel contiene la JTextArea
public class CampoGioco {
public int M;
public int N;
public Integer S = new Integer(0);
Arbitro inizio = null;
protected int numGiocatori;
protected Giocatore campo[][];
AreaPanel ap;
public CampoGioco(int righe,int colonne) {
N = righe;
M = colonne;
campo = new Giocatore[N][M];
System.out.println("INIZIO");
this.inizializzaCampo();
ap = new AreaPanel();
}
public void inizializzaCampo() {
numGiocatori = N;
int colonna = 0;
int riga = 0;
ap = new AreaPanel();
for(riga = 0;riga < N;riga++){
ap.area.append(riga + " " + colonna);
//System.out.println(riga + " " + colonna);
campo[riga][0] = new Giocatore(Integer.toString(riga+1),this,riga,colon na);
}
this.parteGioco();
}
public void parteGioco() {
inizio = new Arbitro("Arbitro",this,0,0);
for(Giocatore[] giocarr : campo){
for(Giocatore gio : giocarr){
if(gio != null)
gio.start();
}
}
inizio.start();
}
public void stampaCampo() {
for(int i = 0;i<N;i++){
for(int j = 0;j<M;j++){
if(campo[i][j] == null)
ap.area.setText("-\t");
//System.out.print("-\t");
else
System.out.print(campo[i][j] + "\t");
}
System.out.println();
}
}
}
public class AreaPanel extends JPanel{
JTextArea area;
public AreaPanel() {
area = new JTextArea();
add(area,BorderLayout.NORTH);
}
}
COSA STO SBAGLIANDO?

Rispondi quotando