bebseth
Messages postés2Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention 7 mai 2004
-
5 mai 2004 à 09:37
cs_stailer
Messages postés507Date d'inscriptionjeudi 28 mars 2002StatutMembreDernière intervention13 mai 2009
-
7 mai 2004 à 16:27
Bonjour, voila j'ai unpetit problème avec J++ et la methode .show()
lorsque je fais maFrame.show() depuis une méthode appelée par un clique sur une IHM par exemple, tout se passe bien,
Mais lorsque je fais maFrame.show() dans la méthode update() de mon interface principale, là la fenetre apparait, mais pointeur de souris sous forme de sablier, et l'affichage est 'tout pourri', il e pas réactualisé et fini par devenir tout blanc si je passe une fenetre devant... Ma méthode 'update' de l'IHM principale est appelée par un notify() depuis un thread (écoutant l'arrivée de trap SNMP si ca peut aider :p).
J'ai bien une petite bidouille qui consiste a mettre maFrame.showDialog() et la... ca marche, la fenetre es dessinée correctement, le probleme c'est que le code '' s'arrete'' en attendant que j'ai fermé cette fenetre (de dialogue...), alors que moi je suis sensé passé plusieurs fois dans cette méthode update (et ainsi accumulé des fenetres ouverte). Je suis paumé je comprends pas, si quelqu'un a déjà eu ce problème et/ou a trouvé une solution, je suis meme pres a entendre que je suis stupide et que j'ai rien compris :p
bye et merci d'avance!
Bertrand
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 5 mai 2004 à 14:35
Salut,
à première vue je dirais que tu as un problème avec le thread de Swing. Ton thread qui appelle la méthode show n'est pas dans le thread de Swing et le rafraichissement ne se fait pas.
Essaie de faire cet appel en utilisant SwingUtilities.invokeLater()
bebseth
Messages postés2Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention 7 mai 2004 7 mai 2004 à 15:44
Oki merci Kirua je vais essayer ca!
@Stailer : je reprends un projet, donc j'utilise les m^emes outils plutot que de tout refondre, je sais que sa réponds pas à ta question mais la 'faute' ne me reviens pas :p