Les boutons radio sont en quelque sorte des cases à cocher qui s'excluent mutuellement à l'intérieur d'un même groupe. Lorsqu'un bouton radio est coché les autres bouton du groupe sont automatiquement décochés.
Les boutons radios sont représentées par la classe JRadioButton et les groupes de boutons par la classe: ButtonGroup.
Un bouton radio doit être obligatoirement associé à un groupe de boutons. Avant de déposer vos boutons radio, commencez par déposer le (ou les) groupe(s) de boutons sur la fenêtre de l'application.
Le groupe de bouton associé à un bouton radio donné est défini dans la propriété buttonGroup de ce dernier.
L'étiquette d'un bouton radio est définie dans sa propriété text.
Le fait de cocher ou décocher le bouton radio génère un évènement de type ActionPerformed. Pour définir un gestionnaire pour cet évènement, faites un double clic sur le bouton radio. Le nom de la procédure évènementielle générée par NetBeans est composé du nom bouton radio suivi de ActionPerformed.
L'exemple présenté ici se trouve dans le dossier Exemple-Swing/BoutonRadio. Il s'agit d'une application simulant une station essence avec deux pompes.
La fenêtre comprend six boutons radios répartis en deux groupes (pompe 1 et pompe 2) ainsi que deux champs de texte pour afficher le prix du litre à chaque pompe.
La procédure suivante affiche le prix du litre à la pompe 1:
private void AfficherPrixPompe1 () { double Prix=0; if (BR_SP95_P1.isSelected()) Prix=PRIX_SP95; if (BR_E10_P1.isSelected()) Prix=PRIX_E10; if (BR_Gazole_P1.isSelected()) Prix=PRIX_GAZOLE; CT_Prix_P1.setText(Double.toString(Prix)); }
elle est donc appelée dans la procédure évènementielle de chaque bouton radio de la pompe 1:
private void BR_SP95_P1ActionPerformed(...) { AfficherPrixPompe1 (); } private void BR_E10_P1ActionPerformed(...) { AfficherPrixPompe1 (); } private void BR_Gazole_P1ActionPerformed(...) { AfficherPrixPompe1 (); }