J aurais voulu savoir une chose :
comment récupérer la valeur d'un bouton radio ( j ai un groupe de deux boutons et je voudrais savoir lequel est coché).
Voilà pour l instant mon code source :
/** * ---------------------------------------- * Classe du panel contenant les papramètres * ---------------------------------------- */ class PanelParam extends JPanel implements PropertyChangeListener { public JRadioButton radioRepas, radioEffort; public JFormattedTextField zoneGlucoseRepas, zoneGlucoseEffort, zoneTempsRepas, zoneTempsEffort; private NumberFormat formatGlucoseRepas; private NumberFormat formatGlucoseEffort; private NumberFormat formatTempsRepas; private NumberFormat formatTempsEffort; /** * Constructeur */ PanelParam() { setLayout(new BoxLayout(this,BoxLayout.X_AXIS)); setLayout(new BoxLayout(this,BoxLayout.X_AXIS)); ButtonGroup groupeEvenements = new ButtonGroup(); radioRepas = new JRadioButton("Repas",false); zoneGlucoseRepas = new JFormattedTextField(formatGlucoseRepas); zoneGlucoseRepas.setValue(new Integer(0)); zoneTempsRepas = new JFormattedTextField(formatTempsRepas); zoneTempsRepas.setValue(new Integer(0)); JPanel panelRepas = new JPanel(); panelRepas.setLayout(new BoxLayout(panelRepas,BoxLayout.Y_AXIS)); panelRepas.add(radioRepas); panelRepas.add(zoneGlucoseRepas); panelRepas.add(zoneTempsRepas); add(panelRepas); groupeEvenements.add(radioRepas); radioEffort = new JRadioButton("Effort",false); zoneGlucoseEffort = new JFormattedTextField(formatGlucoseEffort); zoneGlucoseEffort.setValue(new Integer(0)); zoneTempsEffort = new JFormattedTextField(formatTempsEffort); zoneTempsEffort.setValue(new Integer(0)); JPanel panelEffort = new JPanel(); panelEffort.setLayout(new BoxLayout(panelEffort,BoxLayout.Y_AXIS)); panelEffort.add(radioEffort); panelEffort.add(zoneGlucoseEffort); panelEffort.add(zoneTempsEffort); add(panelEffort); groupeEvenements.add(radioEffort); zoneGlucoseRepas.addPropertyChangeListener("value",this); zoneTempsRepas.addPropertyChangeListener("value",this); zoneGlucoseEffort.addPropertyChangeListener("value",this); zoneTempsEffort.addPropertyChangeListener("value",this); } public void propertyChange(PropertyChangeEvent e) { Object source = e.getSource(); int valeurRepas; int valeurEffort; int tempsRepas; int tempsEffort; if (source == zoneGlucoseRepas) { valeurRepas = ((Number)zoneGlucoseRepas.getValue()).intValue(); tempsRepas = ((Number)zoneTempsRepas.getValue()).intValue(); } else if (source == zoneGlucoseEffort) valeurEffort = ((Number)zoneGlucoseRepas.getValue()).intValue(); tempsEffort = ((Number)zoneTempsRepas.getValue()).intValue(); } } /** * ------------------------------------- * Classe du panel contenant les boutons * ------------------------------------- */ class PanelBoutons extends JPanel implements ActionListener { JButton boutonAjouter, boutonReset; DialogConfig dialogConfig; PanelParam panelP; public double [][] matriceGenerale; public double [][] matriceParam; public int j = 0; /** * Constructeur */ PanelBoutons() { matriceGenerale = new double [3][100]; matriceParam = new double [2][100]; ... // On ajoute aux boutons un nom d'action et le listener associé au panel boutonReset.setActionCommand("boutonReset"); boutonReset.addActionListener(this); boutonAjouter.setActionCommand("boutonAjouter"); boutonAjouter.addActionListener(this); ... } /** * Méthode appelée (grâce au listener) lorsqu'un des boutons est cliqué */ public void actionPerformed(ActionEvent e) { if ( e.getActionCommand().equals("boutonReset") ) { // La fonction de ce bouton est de remettre à zéro l'état des paramètres panelP.zoneTempsRepas.setValue(new Integer (0)); panelP.zoneTempsEffort.setValue(new Integer (0)); panelP.zoneGlucoseRepas.setValue(new Integer (0)); panelP.zoneGlucoseEffort.setValue(new Integer (0)); } if ( e.getActionCommand().equals("boutonAjouter")) { if (panelP.radioEffort = false) { matriceParam[0][j] = ((Number)panelP.zoneTempsRepas.getValue()).doubleValue(); matriceParam[1][j] = ((Number)panelP.zoneGlucoseRepas.getValue()).doubleValue(); } else { matriceParam[0][j] = ((Number)panelP.zoneTempsEffort.getValue()).doubleValue(); matriceParam[1][j] = ((Number)panelP.zoneGlucoseEffort.getValue()).doubleValue(); } j = j+1; } } }