Bonjour,
Dans le cadre d'un dev amateur d'un JV, je souhaite proposer un module de chat dans mon jeu.

les nombreux tutos consacrés à ce sujet proposent une boucle de jeu tel qui suit:

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
26
27
28
29
30
31
 
public class GameLoop {
	.....
 
	public GameLoop(JFrame window) {
		window.setVisible(true);
		window.createBufferStrategy(2);
		this.bufferStrategy = window.getBufferStrategy();
		.....
	}
 
	public final void doLoop() {
		ISprite sprite = null;
		int size = 0;
 
		while (loop) {
			updateGame();
 
			surface = bufferStrategy.getDrawGraphics();
 
			size = drawingObjects.size();
			for(int i=0; i<size; i++) {
				sprite = drawingObjects.get(i);
				sprite.paint(surface);
			}
 
			bufferStrategy.show();
			surface.dispose();
		}
	}
	.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public class TestEngine {
	.....
 
	public static void main(String[] args) {
		JFrame gameWindow = new JFrame("GAME TESTS");
		GameLoop gameLoop = new GameLoop(gameWindow);
	}
 
	.....
}
Ce bout de code marche.

Mais si j'ajoute:

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 TestEngine {
	.....

	public static void main(String[] args) {
		JFrame gameWindow = new JFrame("GAME TESTS");

		JChatClient chatClient = new JChatClient(InetUtils.getLocalHostAddress(), 1442, "billynirvana", Color.black, new Rectangle(50, 50, 100, 100));

		gameWindow.setLayout(null);
		gameWindow.getContentPane().add(chatClient);

		GameLoop gameLoop = new GameLoop(gameWindow);
	}

	.....
}
Le composant swing ne s'affiche pas! En fait, quand je modifie la taille de l'écran, on voit que le composant s'affiche d'abord et ensuite le reste du jeu (décor + sprites).

J'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
gameWindow.setComponentZOrder(chatClient, 1);
sans succès...

notes
JChatClient est un composant maison: Un panneau contenant les messages reçus et envoyés et un textfield avec le message à envoyer.

JChatClient(<adresse>, <port>, <nom utilisateur>, <couleur de son texte>, <bounds du composant>). Cette classe étend Jcomponent.




Merci de votre aide pour afficher le composant swing après!


Billy