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 :

Simulation Graphique et menu


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 252
    Par défaut Simulation Graphique et menu
    Bonjour à tous!!

    Voici mon petit problème: j'ai défini l'affichage graphique d'un JPanel, via une méthode nommée simuGraph, comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void simuGraph(){
      this.nbCycle=34;
      Ocean indien = new Ocean(32,80);
      laGrille = new Grille(indien, boeing);
      getContentPane().add(laGrille);
      setVisible(true);
      for (int tps=0; (tps<this.getNbcycle() && this.getSimu().getNbpanic()!=0);tps++){
       this.getSimu().uncycle();
       for (int i=0;i<100000000; i++){}
       this.laGrille.repaint();
      }
     
     }
    Lorsque j'appelle cette méthode dans le main de ma classe JFrame, aucun souci, la simulation apparait dans la JFrame.
    Maintenant, afin de pouvoir rentrer les paramètres (nombre de passagers, nombre de cycles), j'ai créé un menu qui demande successivement ces données, puis à l'issu j'appelle ma méthode d'initialisation, puis de simulation graphique, et là, surprise, la simulation n'apparait plus!!!
    Quelqu'un aurait-il une idée du problème que doit générer mon actionlistener??

    Voici le code:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    private JMenuItem getNewSimulation() {
      if (newSimulation == null) {
       newSimulation = new JMenuItem();
       newSimulation.setActionCommand("Nouvelle simulation");
       newSimulation.setText("Nouvelle simulation");
       newSimulation.setEnabled(true);
     
       newSimulation.addActionListener(new java.awt.event.ActionListener() { 
     
        public void actionPerformed(java.awt.event.ActionEvent e) { 
         System.out.println(e);
         if (e.getActionCommand().equals("Nouvelle simulation")){
         String reponse1 = JOptionPane.showInputDialog("Veuillez entrer le nombre de passagers désirés","5 min et 53 max");
     
         while((testEntier(reponse1))==false){
          if (reponse1==null){
           break ;
          }
          else{
           reponse1=JOptionPane.showInputDialog("Veuillez entrer le nombre de passagers désirés","5 min et 53 max"); 
          }
         }
     
         String reponse2 = JOptionPane.showInputDialog("Veuillez entrer le nombre de cycles désirés","500 max");
         while((testEntier(reponse2))==false){
          if (reponse2==null){
           break ;
          }
          else{
           reponse2 = JOptionPane.showInputDialog("Veuillez entrer le nombre de cycles désirés","500 max");
          } 
         }     
         initSimu();
         simuGraph();

  2. #2
    Membre éclairé Avatar de bubu56
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    Déjà je ne sais pas si c'est voulu, mais tu ajoutes une nouvelle Grille à ton contentpane à chaque appel de simuGraph, et apparement tu ne supprimes pas l'ancienne ...

    aussi, mettre ta simul dans un thread et faire un sleep à la place de ton for (int i=0;i<100000000; i++){} serait pas mal ...

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 252
    Par défaut
    Et bien j'ai effectué tout ca et... ca marche!!!
    En effet mon repaint() ne s'exécutait qu'une fois, et à la fin de la simulation.... J'ai donc mis le tout dans un thread, et à présent ca marche..

    Merci beaucoup!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Turbo Pascal] Interface graphique et menu
    Par discipolat dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 07/02/2011, 13h05
  2. simulation graphique de la couverture réseau?
    Par enstein8 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 24/03/2010, 11h12
  3. simulation graphique des algo ecrit en c++
    Par raimi dans le forum C++
    Réponses: 2
    Dernier message: 26/08/2009, 00h45
  4. recherche bibliothèque graphique pour menu circulaire
    Par Lady dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 15/05/2007, 11h24
  5. SIMULATION graphique des algo de tris externe
    Par requinham dans le forum C
    Réponses: 4
    Dernier message: 05/08/2006, 23h43

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