Modifier l'interface graphique sans la bloquer

Description

Mettre à jour l'interface graphique d'une application suivant l'état d'avancement d'un traitement est une chose très fréquente. Néanmoins, lancer le traitement dans le même Thread que l'interface graphique peut provoquer le blocage de cette dernière durant le traitement.
La solution réside dans l'utilisation d'un autre Thread pour le traitement et la mise à jour de l'interface se fait en recevant des messages de ce deuxième Thread.
Pour montrer cette solution, un exemple très simple est donné dans ce code. Un compte à rebours utilise la fonction Thread.sleep() qui est une fonction bloquante. Pour ne pas bloquer l'interface graphique, le compteur est lancé dans un Thread séparé. L'interface graphique se mis à jour à chaque fois qu'elle reçoit un message du compteur. En même temps, l'utilisateur peut vérifier que l'interface n'est pas bloquée et permet de lancer un autre traitement (dans cet exemple : l'affichage d'un simple message "Hello, World !").

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.