Bonjour à tous !

J'ai un petit soucis dans mon programme ... Je vous joins directement un programme très simplifié avec en commentaire le problème que j'ai

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
// import ...
public class test
 
{
 
	public static void main(String []args)
 
	{
		cadre fenetre = new cadre("Fenetre",150,150,1365,718);
	}
 
}
 
 
 
class cadre extends JFrame
{
	public cadre(String nom,int X,int Y,int H,int L)               
 
	{
 
		super(nom);
		setBounds(X,Y,H,L);
		setDefaultCloseOperation(EXIT_ON_CLOSE);            
		getContentPane().add(new PanneauCadre());
		setVisible(true);
 
	}
}
 
class PanneauCadre extends JPanel
{
       private JRadioButton a1 = new JRadioButton("choix1");
       private JRadioButton a2 = new JRadioButton("choix2");
       private JRadioButton a3 = new JRadioButton("choix3");
       public int choix = 0;  // declaration d'une variable entiere du choix
       // On les réunit dans un buttonGroup, je le fais pas ici pour supprimer des lignes de codes :)
 
      public PanneauCadre()
      {
               a1.addItemListener(new Ecouteur1());
               a2.addItemListener(new Ecouteur2());
               a3.addItemListener(new Ecouteur3());
      }
 
       public class Ecouteur1 implements ItemListener
 
	{
		public void itemStateChanged(ItemEvent evt)
 
		{
 
			evt.getItem();
    		        if(evt.getStateChange() == ItemEvent.SELECTED)
    		     	       choix = 1;
		}
 
	}
 
	public class Ecouteur2 implements ItemListener
 
	{
		public void itemStateChanged(ItemEvent evt)
 
		{
 
			evt.getItem();
    		        if(evt.getStateChange() == ItemEvent.SELECTED)
    		     	choix = 2;
 
		}
	}
 
	public class Ecouteur3 implements ItemListener
 
	{
		public void itemStateChanged(ItemEvent evt)
 
		{
 
			evt.getItem();
    		        if(evt.getStateChange() == ItemEvent.SELECTED)
    		     	choix = 3;
 
		}
    // Dans les classes évènements choix prend bien sa valeur
	}
 
       public int getChoix()     // une méthode qui retourne la valeur du choix si c'est 1,2, ou 3 dans une autre classe qui n'est pas ici.
	{      
                if(choix!=0)
		return choix;    // Le problème est qu'à cet endroit choix est toujours égal à 0
	}
}
J'ai mis mes petits commentaires dans le programme, là ou ça ne marche pas ...
Il faudrait que lorsque que l'on modifie cette variable, cela s'applique à toutes les classes.

SI vous avez des idées, je suis preneur !

Merci d'avance !