Attente en JAVA
Forum Programmation : Attente en JAVA
Bonjour,
Volia, j'aimerai mettre dans mon code java entre deux lignes de code une sorte d'attente (comme un genre de boucle for qui ferait rien) pendant 3 seconde avant de continuer la suite de mon programme. Comment faire ?
------ code ------
ATTENDRE 3 SECONDE -> Comment faire ???
------ code -------
ps: j'ai essayé avec thread en vain.
Merci d'avance pour votre aide
il y'a sleep en php, coté java, il doit existé un équivalent.
Si je me rappel bien ça donne un truc du genre:
try{
wait(300);
}catch(InterruptedException e){
System.out.println(e.getMessage());
}
il faut mettre un try/catch car une exception peut se former
PS: j'ai mis 300 dans le wait car je crois que c'est des milli secondes mais je suis pas sur au pire tu test et tu modifies si c'est pas ça
Message édité par azen29 le 23-04-2008 à 15:44:42
Utilise Thread.Sleep(3000);
3000 = 3000 millisecondes = 3 secondes.
mouths91 à dit : "[...]des rageux comme kelnem"
Répondre à Vinz42
Re Bonjour,
Je vais présisé mon problème:
Voila, mon probleme c'est de mettre une attente entre le moment ou je crée mon JDialog et celui ou je le ferme afin qu'il ne reste que 5 seconde à l'écran. (mettre un attente entre deux ligne de code)
J'ai donc essayé avec un thread mais ça marche pas.
Creation du JDialog dans un JFrame lejframe
Attente...... // J'ai essayé en redefinissant thread et en l'appelant avec lethread.start, mais ça bloque et ne passe pas à la suite.
Fermeture du frame et don du JDialog avec lejfame.dispose();
Mais ça marche pas !!! Quelqu'un aurait une solution ?
Merci d'avance pour vos reponse
| Vinz42 a écrit : Utilise Thread.Sleep(3000);
|
Merci pour l'info.
J'ai essayé ça mais ça marche pas !!!
Je viens de précisé mon problème !!!
lezert, RTFM:
http://java.sun.com/j2se/1.4.2/doc [...] ng,%20int)
le 's' est en minuscule.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
| CRicky a écrit : lezert, RTFM:
|
Merci !!!
Classe
{
Creation du Jframe avec une image
attente avec ce que tu m'as dit
Fermeture du JFrame
}
---> Si je l'appelle directement ça marche tres bien par contre si je l'appelle dans une autre classe alors la mon Jframe s'affiche de maniere transparente (il a du mal a se charger) et se ferme sans avoir vu l'image. L'attente fait qu'il n'arrive pas a se charger !!!
Rq: il ne s'affiche qu'apres l'attente quand j'enleve sa fermeture dans la classe qui le definie.
Comment resoudre se probleme ???
Merci d'avance
le sleep arrête le thread courant. Si tu es dans le thread principal, la gestion des messages et affichages sont aussi endormies
Tu peux lancer ton algo dans un thread que tu peux bloquer 3 secondes, l'affichage et la gestion de messages ne seraient plus bloqués.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
+1 avec cricky.
mouths91 à dit : "[...]des rageux comme kelnem"
Répondre à Vinz42
| CRicky a écrit : le sleep arrête le thread courant. Si tu es dans le thread principal, la gestion des messages et affichages sont aussi endormies |
Voila mon code, je vois pas tres bien ce que tu veux dire...
Code :
|
Je voulais donc savoir comment resoudre ce probleme. Merci d'avance pour votre aide
Message édité par lezert le 24-04-2008 à 13:09:11
Je pense que le probleme vient de la classe Jouer et plus precisement de
try
{
Attente.join();
}
catch(Exception ex){}
En effet, lorsque je le met pas l'affiche s'affiche nickel et disparait automatiquement au bout d'un certain temps, mais le probleme c'est que sans attente.joint() le programme continue à defiler et donc ça ne me va pas !!! En effet, le attent.joint() permet il me semble d'ttendre la fin du thread avant de passer a la suite.
Si quelqu'un à une solution, je le remercie d'avance ca ça fait deux jours que je bloque !!!!
Le code doit être exécuté dans le thread, et quand celui-ci se termine (après le sleep), il informe le thread principal qui déclenche alors la suite.
Comme ça le thread principal ne fait "rien" quand tu fais le traitement et attente avec le thread.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Merci, mais j'ai essayé de le mettre partout et rien nifait. Soit le programme principal continue en meme temps que l'attente, soit l'image ne s'affiche pas car elle est bloqué par le thread qui l"apppelle.
C'est dommage, parce que moi je t'indiquais la solution qui fonctionne toujours : le traitement dans un thread qui fait remonter l'info quand c'est fini.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Si tu sais comment faire ça m'interesse !!! Je vois pas tres bien ce que tu veux dire. Tu peux etre plus precis.
Et ça va regler mon probleme de chargement de l'image qui se bloque ?
Merci d'avance pour ta reponse.
Quand tu lances le thread, il ne faut pas que tu fasses les autres opérations après, car le thread est exécuté en parallèle (comme un autre programme, mais dans le même processus). C'est le thread, qui lorsqu'il a finit envoie un signal indiquant que l'attente est écoulé.
Donc, pendant l'attente, ton programme continueras comme si tu n'avais pas lancé le thread, mais lorsque celui-ci sera terminé, le temps sera écoulé.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
| CRicky a écrit : Quand tu lances le thread, il ne faut pas que tu fasses les autres opérations après, car le thread est exécuté en parallèle (comme un autre programme, mais dans le même processus). C'est le thread, qui lorsqu'il a finit envoie un signal indiquant que l'attente est écoulé.
|
Je te remercie pour ton aide. Par contre, vu que tu as mon code il ne serait pas possible que tu le modifie afin qu'il marche. Je sais que je t'en demande beaucoup, mais ça fait tellemnt longtemps que je cherche, que j'ai pas d'autres solution car j'ai essayer des milllions de possiblité pour le code en vain.
Merci d'avance
Non, désolé, je ne teste aucun code du forum, je te fais simplement profiter de mon expérience. Essaie de le modifier toi-même, et reposte ton nouveau code si tu n'y arrive pas.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Il y a 249 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
