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 :

aide pour rafraîchissement JLabel


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 6
    Points
    6
    Par défaut aide pour rafraîchissement JLabel
    Bonjour tout le monde,

    Me voila de nouveau confronter au joie de l'informatique avec ses problèmes que l'on ne comprends pas, c'est pour cela que je fais encore une fois appel à votre aide.

    Donc voila, j'ai une liste d’élèves dans un JTable, pour compter le nombre d’élèves, de filles et de garçons je regarde si c'est un "M" ou un "F" dans la colonne sexe, jusque la tout va bien.
    Ensuite, je clique sur un bouton pour afficher les résultats, lors du premier appui cela fonctionne très bien.Je ferme la fenêtre ou les résultats sont affichés.
    Maintenant je rajoute un ou plusieurs élèves dans ma JTable, je reclique sur le bouton, la fenêtre s'ouvre bien mais,voila le problème, ceux sont les résultats du premier clic qui s'affiche, les bons résultats s'affichent,seulement,après un deuxième clic sur le bouton avec la fenêtre déjà ouverte.

    Voila, si quelqu'un a une idée pour m'aider, je vous remercie d'avance.

    Je vous joint mes 2 fonctions de calculs, ma fonction d'affichage de la fenetre et l' ActionListener du bouton

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    public void compter_ligne(){
     
     
    	ligne = table.getRowCount() - 1;
    	System.out.println("eleve : " +ligne);
     
    }
     
    public void compter_fille(){
     
    	String mec = "M";
    	String femme = "F";
     
    	fille = 0 ;
    	garcon = 0;
     
    	for(int i=1;i<table.getRowCount();i++)
    	{	
    		String test =(String) (table.getValueAt(i,2)); 
     
    		if (test.equalsIgnoreCase(mec))
    		{
    			garcon++;
     
    		}
    		else if (test.equalsIgnoreCase(femme))
    		{
    			fille++;
     
    		}
     
    	}
     
    	System.out.println("\ngarcon : " +garcon);
    	System.out.println("\nfille : " +fille);
     
     
    }
     
    public void fenetre_compter(){
     
    	JLabel compteur_eleve = new JLabel();
    	JLabel compteur_fille = new JLabel();
    	JLabel compteur_garcon = new JLabel();
     
    	JPanel lepanel = new JPanel();
    	lepanel.setLayout(new GridLayout(3,1));
     
    	compteur_eleve.setText("nombre d'eleve : " + ligne);
    	compteur_fille.setText("nombre de fille : " + fille);
    	compteur_garcon.setText("nombre de garcon : " + garcon);
     
    	compteur_eleve.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 
    	compteur_fille.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 
    	compteur_garcon.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 
     
    	lepanel.add(compteur_eleve);
    	lepanel.add(compteur_fille);
    	lepanel.add(compteur_garcon);
     
    	compteur.getContentPane().add(lepanel);
    	compteur.setTitle("Compteur");
    	compteur.setSize(500,250);
    	compteur.setVisible(true);
    	compteur.setLocationRelativeTo(null);
     
     
    }
     
     
    if(e.getSource() == bouton2)
    	{		
     
    		compter_ligne();
    		compter_fille();
    		fenetre_compter();
     
    	}
    Merci.

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 36
    Points : 41
    Points
    41
    Par défaut
    as tu essaye un simple repaint du panneau qui contient tes donnees

    sinon je t invite a detruire la fenetre des compteurs avant de la reutiliser

    par compteur = new JPanel ou JDialog
    je ne sais pas ce que tu utilises

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Probleme resolu

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    j'ai déclaré le panel en début de classe et j'ai rajouté lepanel.removeAll() en début de fonction

    Ça fonctionne!!

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

Discussions similaires

  1. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  2. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  3. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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