JAVA Faire une Bouton Radio

logique Messages postés 100 Statut Membre -  
logique Messages postés 100 Statut Membre -
Bonjour, je débute en JAVA et je galère rien que pour faire un bouton radio ! ='(

voila ce que j'ai fait jusqu'à présent :

Class FenetreMenu

package fenetre;
import java.awt.Container;
import java.awt.Panel;
import javax.swing.*;
/**
* @author XXXX
*
*/
class FenetreMenu extends JDialog
{
private JLabel labNom;
private Container contenu;

private ButtonGroup group;

private JRadioButton radio1;
private JRadioButton radio2;
private JRadioButton radio3;

public FenetreMenu()
{
super();

this.labNom = new JLabel ("Entreprise Toner Express");
this.labNom.setBounds(120, 20, 200, 20);

this.contenu = this.getContentPane();
this.contenu.add(labNom);
this.contenu.setLayout(null);

ButtonGroup group = new ButtonGroup();

JRadioButton radio1 = new JRadioButton("Radio Button1");
JRadioButton radio2 = new JRadioButton("Radio Button2");
JRadioButton radio3 = new JRadioButton("Radio Button3");

group.add(radio1);
group.add(radio2);
group.add(radio3);
}
}

Class TestFenetre

/**
*
*/
package fenetre;

/**
* @author jlucas
*
*/
public class TestFenetre {

/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub

FenetreMenu maFenetre = new FenetreMenu();
maFenetre.setBounds(300, 300, 400, 200);
maFenetre.setTitle("Toner-Express");

maFenetre.setVisible(true);
}

}

Merci pour votre aide car la je désespère !

3 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    1) Tu dois initialiser group à l'aide d'un constructeur
    group = new ButtonGroup();
    2) Une JFrame c'est un Container, donc les méthodes que tu utilises sur contenu tu peux directement les utiliser sur this.
    this.setLayout(null);// identique à this.contenu.setLayout(null);
    3) Le this est facultatif lorsque tu fais référence à une méthode ou à un objet courant, sa principale utilité est de pouvoir être utilisé comme argument d'une méthode.
    setLayout(null); // identique à this.setLayout(null);
    4) Ajouter des boutons au groupe ne les ajoute pas à l'interface (ça agit sur leur comportement pas sur leur position dans la fenêtre), il faut donc ajouter les boutons à l'interface :
    add(radio1); // identique à this.contenu.add(radio1)
    radio.setBounds(
    add(radio2); // identique à contenu.add(radio2)
    add(radio3); // identique à this.add(radio3)

    5) Le layout null impose que tu définisses chaque position avec setBounds
    radio1.setBounds(20,50,150,20);
    radio2.setBounds(20,70,150,20);
    radio3.setBounds(20,90,150,20);

    6) Tu peux aussi utiliser un autre Layout que null, et ainsi ne pas avoir à te soucier des setBounds. Exemple complet :

    import java.awt.GridLayout;
    
    import javax.swing.ButtonGroup;
    import javax.swing.JDialog;
    import javax.swing.JLabel;
    import javax.swing.JRadioButton;
    
    class FenetreMenu extends JDialog
    {
        private static final long serialVersionUID = 1;
        
        private final ButtonGroup group;
        
        private final JRadioButton radio1;
        private final JRadioButton radio2;
        private final JRadioButton radio3;
    
        public FenetreMenu()
        {    
            setTitle("Toner-Express");
            setSize(400,200);
            setLocation(300, 300);
            setLayout(new GridLayout(4,1));
            
            add(new JLabel("Entreprise Toner Express", JLabel.CENTER));
        
            group = new ButtonGroup();
        
            radio1 = new JRadioButton("Radio Button1");
            group.add(radio1);
            add(radio1);
            
            radio2 = new JRadioButton("Radio Button2");
            group.add(radio2);
            add(radio2);
        
            radio3 = new JRadioButton("Radio Button3");
            group.add(radio3);
            add(radio3);
            
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            setVisible(true);
        }
    }
    
    public class TestFenetre 
    {
        public static void main(String[] args)
        {
            new FenetreMenu();
        }
    }
    10
  2. k-23 Messages postés 256 Date d'inscription   Statut Membre Dernière intervention   9
     
    Si tu developpe avec eclipse il y a des plugins pour swing cest très facile de faire des boutons fenetres et tout.
    0
  3. logique Messages postés 100 Statut Membre 3
     
    Ah merci beaucoup. +1
    0