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

avec Java Discussion :

problème de mise à jour de la fenêtre


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 17
    Par défaut problème de mise à jour de la fenêtre
    Bonjour a tous

    je souhaite lorsque je click sur un bouton dans une fenetre, une ligne contenant un jlabel avec 5 icons s'affiche dans une autre fenetre
    Mon pb c'est losque je click il y a rien qui ce passe, il faut que je touche la fenetre avec la souris et la mon resultat s'affiche
    ce que je souhaite c'est lorsque je click
    le Jlabel s'affiche

    Voici mon code :
    C'est le du panel avec la fonction MAJ qui est effectué lorsque je click

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    public class VueResultat extends JPanel implements Vue {
        private Mastermind jeux;
        JLabel [] tab;
        protected int tabaffiche [];
        int j=1;
     
     
           public VueResultat (Mastermind jeux) {
     
             super();
             this.jeux=jeux;
             this.tabaffiche = new int[4];
             this.tab = new JLabel[4];
             this.setLayout(new GridLayout(1,4));
     
     
              for(int i=0;i<4;i++){
             tab[i]=new JLabel (new ImageIcon("./image/test.jpg"));
             this.add(tab[i]);}
     
    public void mettreAJour() {
         for(int i=0;i<4;i++){
                tabaffiche[i] = jeux.majTabaffichage(i);
         }
     
          j++;
     
         this.setLayout(new GridLayout(j,4));
     
                  this.tab=new JLabel [4];
           for(int i=0;i<4;i++){
              int t = this.tabaffiche [i] ;
              if ( t==0){
                 this.tab[i]= new JLabel (new ImageIcon("./image/bleu.jpg"));}
              else if (t==1){
                this.tab[i]= new JLabel (new ImageIcon("./image/rouge.jpg"));}
              else if (t==2){
                 this.tab[i]= new JLabel (new ImageIcon("./image/vert.jpg"));}
              else if (t==3){
                 this.tab[i]= new JLabel (new ImageIcon("./image/noire.jpg"));}
               }
     
     
             for(int i=0;i<4;i++){
               this.add(this.tab[i]);}
         }

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    après avoir mis à jour un conteneur déjà présent à l'écran, il ne faut pas oubleir d'appeler invalidate() dessus, sinon les mise à jour ne sont pas prises en compte immédiatement.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 17
    Par défaut
    bonjour
    merci pour ta réponse, mais je suis debutant en java, je la mets cette commande dans le code, j'ai fai fais des essais apres le for, il y rien qui se passe
    Cdt

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu peux montrer ton nouveau code?

  5. #5
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 17
    Par défaut
    Voici mon code JAVA

    Il faut que je la mette ici la cmd

    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
     
     public void mettreAJour() {
         for(int i=0;i<4;i++){
                tabaffiche[i] = jeux.majTabaffichage(i);
         }
     
          j++;
     
        this.setLayout(new GridLayout(j,4));
     
                  this.tab=new JLabel [4];
           for(int i=0;i<4;i++){
              int t = this.tabaffiche [i] ;
              if ( t==0){
                 this.tab[i]= new JLabel (new ImageIcon("./image/bleu.jpg"));}
              else if (t==1){
                this.tab[i]= new JLabel (new ImageIcon("./image/rouge.jpg"));}
              else if (t==2){
                 this.tab[i]= new JLabel (new ImageIcon("./image/vert.jpg"));}
              else if (t==3){
                 this.tab[i]= new JLabel (new ImageIcon("./image/noire.jpg"));}
               }
     
     
             for(int i=0;i<4;i++){
               this.add(this.tab[i]);
               invalidate();
            }
         }

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    désolé, je confond toujours, c'est validate() et non invalidate() qu'il faut appeler. Et l'appeler une seul fois a la fin suffit, inutile de le mettre dans la boucle

Discussions similaires

  1. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39
  2. Problème de mise à jour de données avec IBClientDataset
    Par Papino dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/09/2005, 14h04
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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