IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[JAVA]Ralentir l'exécution d'une méthode


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Points : 139
    Points
    139
    Par défaut [JAVA]Ralentir l'exécution d'une méthode
    Pour faire un affichage d'une grille pas à pas (je veux voir apparaître chaque cellule une par une), je souhaite "occuper" la JVM, pour que l'affichage se fasse ainsi plutôt que tout d'un coup.
    J'ai donc testé diverses boucles, pendant lequelles je décrémente un entier de 1 milliard à 0, mais ça n'a strictement rien changé.
    Comment puis-je ralentir ou occuper la JVM de manière à obtenir un affichage séquentiel? une méthode pause() existe-t-elle?

  2. #2
    En attente de confirmation mail Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Tu peux utiliser Thread.sleep("temps d'attente en ms") par exemple.

    N.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Points : 139
    Points
    139
    Par défaut
    j'ai utilisé Thread.sleep(20), ça n'a pas changé, c'est à dire que le programme fait une "grosse pause" de n*20 millis (n le nb de cases de la grille), et affiche la grille tout d'un bloc.
    Voici le corps de la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
                    public void afficherGrille(){
    			panelGrille.removeAll();
    			for(int i=0;i<grille.largeur;i++){
    				for(int j=0;j<grille.largeur;j++){
    					identifierContenuCase(i,j);
    					panelGrille.revalidate();
    					panelGrille.repaint();
    					try {
    						Thread.sleep(20);
    					} catch (InterruptedException e) {
    						e.printStackTrace();
    					}
    				}
    			}
    			panelGrille.repaint();
    		}

  4. #4
    En attente de confirmation mail Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    C'est que tu ne place pas ton sleep au bon endroit dans ton code.
    Il faut faire cette pause entre deux écriture de cercle.

    Essaye de mettre le bout de code concerné si tu peux facilement l'isoler.

    N.

  5. #5
    En attente de confirmation mail Avatar de Akira
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Ok c'est surement ton panelGrille.repaint(); qui n'est pas correct il ne redessine pas vraiment la grille lorsque tu l'appelle essaye de voir de ce coté là.

    N.

Discussions similaires

  1. Réponses: 15
    Dernier message: 04/10/2007, 10h37
  2. Limiter le temps d'exécution d'une méthode
    Par nono_31 dans le forum Général Java
    Réponses: 9
    Dernier message: 16/08/2007, 15h46
  3. Exécution d'une méthode dans Page_Load
    Par Definol dans le forum ASP.NET
    Réponses: 6
    Dernier message: 17/07/2007, 15h09
  4. Réponses: 4
    Dernier message: 31/10/2006, 09h12
  5. Non exécution d'une méthode repaint()
    Par Flophx dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 05/05/2006, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo