JAVA Faire une Bouton Radio
logique
Messages postés
100
Statut
Membre
-
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 !
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:
- Bouton radio java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Radio française - Télécharger - Médias et Actualité
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
1) Tu dois initialiser group à l'aide d'un constructeur
5) Le layout null impose que tu définisses chaque position avec setBounds
6) Tu peux aussi utiliser un autre Layout que null, et ainsi ne pas avoir à te soucier des setBounds. Exemple complet :
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();
}
}