Rafraichissement JFrame

nicl75 Messages postés 3 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 27 novembre 2008 - 27 nov. 2008 à 19:46
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 2 déc. 2008 à 13:37
Bonjour, je réalise un petit jeu en java et j'ai des problèmes de rafraichissement de JFrame.

Le sujet à souvent été traité mais je n'ai pas encore trouvé une solution approprié à mon problème.

Mon main :

Evenement e = new Evenement(monlanceur.vit, mamatrice.getLongueur(), mamatrice, monprofil); // implements KeyListener
MaFenetre fenetreActive = new MaFenetre(800, 800, e); // extends JFrame implements KeyListener
fenetreActive.labelTerrain.setText(monTerrain.name);
fenetreActive.labelPersonnage.setText(monprofil.toString());
fenetreActive.labelMatrice.setText(mamatrice.toString());
fenetreActive.labelLanceur.setText(monlanceur.toString());
fenetreActive.labelListe.setText(mamatrice.toStringListeTrie());
fenetreActive.labelPoubelle.setText(mamatrice.toStringPoubelle());
fenetreActive.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetreActive.setVisible(true);

Le contenu de monlanceur.toString() change à chaque appuis sur une touche du clavier.

En sortie sa marche parfaitement mais dans ma JFrame le lanceur de change pas de position.

J'ai essayé plusieurs solutions genre :

fenetreActive.repaint();
fenetreActive.validate();
fenetreActive.labelListe.repaint();
...

Mais je ne trouve pas de solution.

Quelqu'un peut me dire où est mon erreur svp ?

2 réponses

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
28 nov. 2008 à 07:25
Nous devons faire un setText(..) également dans le KeyListener.
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
2 déc. 2008 à 13:37
tu as testé avec un setVisible(true) ??
l'appel à la méthode de rafraichissement est-il au bon endroit?
0
Rejoignez-nous