Recuperer le resultat d'un groupe de bouton radio.

Basounours Messages postés 4 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 8 mai 2006 - 3 mai 2006 à 22:24
Basounours Messages postés 4 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 8 mai 2006 - 4 mai 2006 à 20:22
Bonjour voila le style de mon interface j'ai un groupe de Bouton radio et je veut recup dans une autre classe.

voila le code :



package IHM;



import java.awt.event.*; // Pour le ActionListener

import java.awt.*; // Pour le container

import javax.swing.*;

import javax.swing.border.Border;



class Bouton_Radio extends JPanel

{

private CheckboxGroup choix;

private Checkbox ChoixManga;

private Checkbox ChoixPerso;

private Checkbox ChoixAuteur;

private Checkbox ChoixAttaque;

private Checkbox ChoixLieu;

private Checkbox ChoixObjet;



public Bouton_Radio()

{

super(new GridLayout(0,1));

// Création des boutons radios

CheckboxGroup choix = new CheckboxGroup();

ChoixManga = new Checkbox("Manga", choix, true);

ChoixPerso = new Checkbox("Personnage", choix, false);

ChoixAuteur = new Checkbox("Auteur", choix, false);

ChoixAttaque = new Checkbox("Attaque", choix, false);

ChoixLieu = new Checkbox("Lieu", choix, false);

ChoixObjet = new Checkbox("Objet", choix, false);



// Insertion des boutons dans l'objet Panel_Menu

add(ChoixManga);

add(ChoixPerso);

add(ChoixAuteur);

add(ChoixAttaque);

add(ChoixLieu);

add(ChoixObjet);

}

public String getChoix() // pas sur cela

{

return choix.toString();

}

}



class Bouton_OK_KO extends JPanel

implements ActionListener // interface écouteur d'événements

{

private JButton BoutonOk;

private JButton BoutonKo;

public Bouton_OK_KO() // constructeur de la classe ButtonPanel

{

BoutonOk = new JButton("Ok");

BoutonKo = new JButton("Quitter");

// Insertion des boutons dans l'objet Panel_Menu

add(BoutonOk);

add(BoutonKo);

// Les sources d'événements sont déclarées à l'écouteur

BoutonOk.addActionListener(this);

BoutonKo.addActionListener(this);

}



public void actionPerformed(ActionEvent evt)

// Permet de traiter l'événement en fonction de l'objet source

{

if (evt.getSource() == BoutonKo)

{

System.exit(0);

}

if (evt.getSource() == BoutonOk)

{

//C'est ici que je doit le recup



}

}

}







Merci pour votre aide



class Panel_Menu extends JFrame

{

public Panel_Menu()

{

setTitle("Menu Ajout");

this.setLocation(150, 150);

setSize(300, 200);

Container c = getContentPane();

c.add(new JLabel("Séléctionner l'objet que vous voulez Ajouter"),BorderLayout.NORTH);

c.add(new Bouton_OK_KO(),BorderLayout.SOUTH);

c.add(new Bouton_Radio(),BorderLayout.CENTER);

setVisible(true);

}

}



public class Menu_Ajout extends JFrame

{

public static void main(String[]telsArgs)

{

//Appel de la classe Panel_Menu

new Panel_Menu();

}//main

}//classe Start

2 réponses

yannick_parchemal Messages postés 31 Date d'inscription jeudi 13 avril 2006 Statut Membre Dernière intervention 22 mai 2006
4 mai 2006 à 10:49
Bonjour,
2 solutions simples à ton problème :

1. Tu passes en paramétres du constrcuteur de Bouton_OK_KO ton CheckboxGroup et tu le mémorises dans une donnée membre (donnée membre qui est alors accessible dans les méthodes)

2. Tu définis ta classe Bouton_OK_KO comme une classe interne de ta classe Bouton_Radio et toutes les donnnées membres de la classe Bouton_Radio sont alors accessibles dans ta classe Bouton_OK_KO
@+
0
Basounours Messages postés 4 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 8 mai 2006
4 mai 2006 à 20:22
ca ne marche pas ....



pour la 1 :

c.add(new Bouton_OK_KO(),BorderLayout.SOUTH);

/// cela ne parche plus apres



Pour la 2 :

comment le passer en parametre, il n'a pas acces a la variable.
0