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:
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();
}
}
..... |
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:
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é
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
Partager