Bonsoir tout le monde !

Je suis sur un petit projet et j'ai quelques questions pour lesquelles je n'arrive pas à trouver la solution ...

J'ai une classe StrategoBackground dans laquelle je fais plusieurs réglages de fenêtre, de composants etc ...
Via cette classe, je peut créer une nouvelle fenêtre NewGameFrame proposant un nouveau jeu au joueur.
Cette classe (NewGameFrame) appelle une méthode randomizePiecesPositions d'une autre classe (PlacePieces), forcément, cette méthode intervient sur les attributs de la classe StrategoBackground pour y place des pions.

Lors de l'appel de NewGameFrame dans Stratego Background :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public class StrategoBackground extends JFrame{
private void newGameActionPerformed(ActionEvent e){
NewGameFrame newGameFrame = new NewGameFrame(this);
}
}
Je passe l'instance courante afin de garder tout les attributs.

Dans la classe NewGameFrame :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public class NewGameFrame extends JFrame{
StrategoBackground stb; 	
 
	public NewGameFrame(StrategoBackground stb){		
		this.stb = stb; 
		initComponents(this.stb); 
	}
 
	private void playActionPerformed(ActionEvent e){		
		// TODO : Methode de random des pions. 
		PlacePieces pp = new PlacePieces(this.stb); 
		if(randomize.isSelected())
			pp.randomizePiecesPositions(); 		
	}
}
Je garde donc l'instance courante de StrategoBackground.

Et enfin, dans PlacePieces :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
public class PlacePieces 
{	
	StrategoBackground stb; 
	public PlacePieces(StrategoBackground stb){
		this.stb = stb; 
	}
 
      public void randomizePiecesPositions(){		
		JLabel battleBackground = stb.getBattleBackground();
		Pions tabPions[][] = new Pions[10][10]; 
 
		for(int l = 0 ; l < 10 ; l++)
		{
			for(int c = 0 ; c < 10 ; c++)
			{
				/*Creation du tableau de Pions*/
			}	
		}
 
		//stb.setTabButtons(tabPions); 
	 	stb.setBattleBackground(battleBackground); 
		System.out.println("ICI : " +stb.getTest());
	}
}
Je n'arrive pas au résultat escompter.

D'ou viens la perte de mes informations de l'instance courante de StrategoBackground ?

A noter que si j'appele la méthode randomizePiecesPosition *depuis* StrategoBackground, tout fonctionne ...

Des idées ?