JAVA Faire une Bouton Radio

Fermé
logique Messages postés 92 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 avril 2013 - 16 oct. 2012 à 15:06
logique Messages postés 92 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 avril 2013 - 28 oct. 2012 à 10:17
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 !
A voir également:

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
16 oct. 2012 à 17:19
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
k-23 Messages postés 252 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 25 novembre 2014 9
16 oct. 2012 à 16:48
Si tu developpe avec eclipse il y a des plugins pour swing cest très facile de faire des boutons fenetres et tout.
0
logique Messages postés 92 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 avril 2013 3
28 oct. 2012 à 10:17
Ah merci beaucoup. +1
0