voila mon probleme, je realise un jeu memory qui contient 52 cartes.
j'ai une JFrame qui contient 2 JButton(nouvelle partie et changer langue) , 1 JPanel et 1 JLabel, mon JPanel contient mon jeu de carte et mon JLabel affiche le score du joueur.
Le probleme vient du fait que j'aimerai bien que mon texte de JLabel se rafraichisse a chaque fois que je clique sur une de mes cartes pour afficher le score actuel. Or mon JLabel ne se rafraichi uniquement lorsque je clique sur un de mes JButton.
voici un apercu de ma fonction container
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
private Container createContenu(){
		 Container contenu = new Container();
		 contenu.setLayout( new BorderLayout());
		 JPanel jpanel = new JPanel(new GridLayout(NB_FAM,NB_CARTES));
// voici mon jlabel: JLabel(String text, int horizontalAlignment) 		 
jlab = new JLabel(im.getString(SCORE)+ im.getScore(),CENTER); 
// je suppose qu'il faudrait un listener où je ferais ca: jlab.setText(im.getString(SCORE)+ im.getScore());
//mais je n'ai pas trouve de solution qui marche
		 jlab.setForeground(Color.blue);
		 buttonNew = new JButton(im.getString(RAZ));
		 buttonNew.addActionListener(new ActionListener(){
			 public void actionPerformed(ActionEvent ae){im.raz();im.melangeToi();im.setScore(0);}});
		 buttonNew.setForeground(Color.blue);
		 buttonLang = new JButton((im.estFR()?iconEN:iconFR));
		 buttonLang.addActionListener(new ActionListener(){
			 public void actionPerformed(ActionEvent ae){im.basculeBundle();}});
		 for(int j=0; j<NB_FAM; j++) for(int i=0; i<NB_CARTES; i++)
			 jpanel.add(
					 new VueCarteImg(im.getCarte(i,j), res));
		 contenu.add(jpanel, BorderLayout.CENTER);
		 contenu.add(jlab, BorderLayout.NORTH);
		 contenu.add(buttonNew, BorderLayout.SOUTH);
		 contenu.add(buttonLang, BorderLayout.AFTER_LINE_ENDS);
		 return contenu;}
j'espere avoir ete assez clair, merci d'avance.
et aussi j'aimerai savoir comment empiler 2 JLabel l un au dessus de l' autres sans ecraser le 1er; c'est à dire avoir l'equivalent de 2 lignes de texte

zorm