begin process at 2012 02 13 00:20:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Ralentir une boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ralentir une boucle

mardi 30 janvier 2007 à 09:48:47 | Ralentir une boucle

Seb33300

Bonjour,

Afin d'afficher une annimation de rotation, je doit ralentir une boucle pour ne pas qu'elle s'execute trop vite et que l'annimation s'affiche.

voicu ma boucle :

        for(int i=0; i<100; i++){
            phibase+=phi;
            repaint();
        }

Il faudrait apres le repaint() dans la boucle mettre une "pause" de 1s au moins avant de faire le tour suivant de la boucle.

Apres quelques recherches j'ai trouvé ces code mais ils ne fonctionnent pas dans mon cas :
L'image n'est pas reactualisé toutes les seconde mais seulement a la fin de la boucle apres la pause
	try
{
Thread.currentThread().sleep(1000);
}
catch(InterruptedException ex){}

Meme chose pour :
            Object o=new Object();
            try
            {
                synchronized(o) { o.wait(1); }
            }
            catch(InterruptedException ex) { }
vendredi 2 février 2007 à 16:57:52 | Re : Ralentir une boucle

fredou30

Tu peux mettre un wait dans ta boucle.

Je crois que tu peux le faire avec Thread.wait(nb milli sec);
dimanche 4 février 2007 à 02:39:44 | Re : Ralentir une boucle

Horfee

tu peux utiliser un JTimer si tu utilise swing.
mais si tu souhaite utiliser la méthode thread :

try {
       for(int i=0; i<100; i++){
            phibase+=phi;
            repaint();
           Thread.sleep(1000);
        } catch(InterruptedException ex){}

En ce qui concerne le wait, son utilisation est utile pour la synchronisation des threads : cela sert a attendre qu'un thread fils notifie celui ci ... pas vraiment utile dans ton cas.
Je te conseille cependant le JTimer, car dans ton cas l'application va etre "endormi" pendant une seconde... et ceux pendant plus d'une minute  40... limite un peu chiant...
   
dimanche 4 février 2007 à 11:21:03 | Re : Ralentir une boucle

Seb33300

Désolé l'annimation n'aparai pas avec ta méthode :/

Par contre j'ai trouvé une autre méthode qui marche mais il reste encore un probleme à regler :

Il faudrais stoper le timer à l'interieur de celui ci mais je n'ai pas trouver de moyen de le faire (il n'a pas l'air d'accepter le stop() )

finalint DELAY = 50;
finallong start = System.currentTimeMillis();
final Timer timer = new Timer(DELAY, new ActionListener(){
    int i = 0;
    publicvoid actionPerformed(ActionEvent e){
    if(i<30){
        // Code
        repaint();
        i++;
    }else{
    // stop l'annimation
    // Code
timer.stop(); // La variable locale timer n'a peut-être pas été initialisée
repaint();
    }
    }
});

timer.start();


Cette discussion est classée dans : boucle, apres, annimation, repaint, ralentir


Répondre à ce message

Sujets en rapport avec ce message

repaint dans une boucle for... [ par marques83 ] Bonsoir,j'ai écrit un jeu "The game of Life"... dans ce jeux j'ai besoin de faire un refresh, ou mieu dit en langue de programmation un repaint() dans comment ralentir une boucle dans java [ par fahdmustapha ] salut à tous; voilà j'ai une jframe dans laquelle ce trouve un TextArea et un button quand je clique sur le button le contenu d'un fichier txt s'affic Rafraîchir Label durant une boucle. [ par sarahjtm ] Bonjour à tous, Je vous explique tout ça, je dois mettre à jour un Label durant une boucle 'while' mais bien entendu, la Label se met à jour qu'à la changer panel apres action de la bar de menu [ par garpa ] Bonjour,Voilà le probleme sur lequel je m'arrache les cheveux.J'ai une classe menu qui me crée une barre de menu au top de ma frame.J'ai différentes c récuperer socket apres plantage? [ par Johan972 ] Salut, j'aimerais savoir si il existe un moyen de récuperer la liste des clients qui etaient connectés a un serveursocket apres un plantage!Et aussi, Java & Flash [ par thr_dreamer_57 ] Salut tout le monde,J'ai besoin d'integrer une annimation flash présentée sous format .swf dans mon frame et je voudrai aussi savoir comment faire un KeyListener, problème avec le 2 eme joueur [ par tchern007 ] Bonjour, J'éxplique un peu le contexte, j'ai projeté de faire un bomberman à ma sauce mais je me heurte à un petit problème meme deux. Le premier souc Repaint et resize [ par eplanet ] Bonjour à tous, je viens à vous car j'ai un problème concernant le rafraichissement de mon IHM. Je modifie certains JPanel de ma fenêtre en changeant Boucle avec JTextField [ par CicinhoRaul ] Bonjour , j'ai un petit problème , j'aimerais savoir est-ce qu'on peut ecrire ceci en java :login = new JTextField(10);if(login != null){....}Apparemm java/ javaScript [ par fbenamirouch ] bonjour,j'aimerai ajouter une ligne avec javaScript,j'explique mon problemedans ma jsp j'ai une boucle(0 à 4) pour incrementer le nb de ligne quand un


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales