à l'aide(java evenementiel)

Résolu
kozzi Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Thiphariel Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
bonjour les amis,
j'ai deux JRadioButtons qui décide le sexe d'une personne homme ou femme ,dans la liste qui va afficher le sexe de la personne il est supposé de voir sexe=homme ou bien sexe=femme .
Moi j'ai déclaré un String et j l'ai initailisé par (" ") dans l'affichage je ne vois que la valeur que je l'ai initialisé avec.....j'espere que quelqu'un me comprend...bref voici le code
package abdelhamid;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

public class Window extends JFrame implements ActionListener{



//Le tableux des personnes;
static Vector<Personne> v=new Vector<Personne>();


//Fenetre de saisie;
JFrame f=new JFrame("Saisir Personne");

//Fenetre d'affichage;
JFrame f1=new JFrame("Liste des personnes");

//Panneaux;
JPanel jp=new JPanel();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
JPanel jp4=new JPanel();

//Les Labels;
JLabel jl=new JLabel("WELCOME AT THE MAIN TABLE ASSHOLE");
JLabel jl1=new JLabel("Nom");
JLabel jl2=new JLabel("Prenom");
JLabel jl3=new JLabel("Age");


//Les zones de texte;
JTextField jtf1=new JTextField();
JTextField jtf2=new JTextField();
JTextField jtf3=new JTextField();


//Buuton Radio;
ButtonGroup group=new ButtonGroup();
JRadioButton jr1=new JRadioButton("Homme");
JRadioButton jr2=new JRadioButton("Femme");

//Buttons simples;
JButton b1=new JButton("Ajouter");
JButton b2=new JButton("Vider");

//Menus;
JMenuBar j=new JMenuBar();
JMenu jm=new JMenu("Personne");
JMenu td=new JMenu("TDI");
JMenuItem m1=new JMenuItem("Saisir");
JMenuItem m2=new JMenuItem("Afficher");
JMenuItem m3=new JMenuItem("Fermer");

//TextArea;
JTextArea jta=new JTextArea(50,60);





public Window(){
setTitle("Accueil");
setSize(500,500);
setVisible(true);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
jp.setLayout(new BorderLayout());
j.add(jm);
jm.add(m1);
jm.add(m2);
jm.add(m3);
j.add(td);
add(j,BorderLayout.NORTH);
add(jl,BorderLayout.CENTER);
m1.addActionListener(this);
m2.addActionListener(this);
m3.addActionListener(this);
jr1.addItemListener(null);
jr2.addItemListener(null);
}

public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==m1){
//Fenetre de saisie;
f.setSize(300,300);
f.setVisible(true);
f.setLocationRelativeTo(null);

jp1.setLayout(new BorderLayout());
jp1.setLayout(new GridLayout(3,2));

jp1.add(jl1);jp1.add(jtf1);jp1.add(jl2);jp1.add(jtf2);jp1.add(jl3);jp1.add(jtf3);
f.add(jp1,BorderLayout.NORTH);

jp2.setLayout(new BorderLayout());
jp2.setLayout(new GridLayout(1,2));
group.add(jr1);group.add(jr2);
jp2.add(jr1);jp2.add(jr2);
f.add(jp2,BorderLayout.CENTER);

jp3.setLayout(new BorderLayout());
jp3.setLayout(new GridLayout(1,2));
jp3.add(b1);jp3.add(b2);
f.add(jp3,BorderLayout.SOUTH);
jr1.addActionListener(null);
jr2.addActionListener(null);
}

b1.addActionListener(
// on crée une classe anonyme implémentant ActionListener
new ActionListener(){

protected String sc="";
public void itemStateChanged(ItemEvent e){
Object s=e.getSource();
if (s == jr1 && jr2.isSelected()){
if(s==jr1)sc="Homme";if(s==jr2)sc="Femme";
}}
public void actionPerformed(ActionEvent e) {
Object ss=e.getSource();

if(ss==b1){
String a=jtf1.getText();
String b=jtf2.getText();

int c=Integer.parseInt(jtf3.getText());
if((jr1.isSelected() && jr2.isSelected())==true);
if(ss==jr1)sc="Homme";if(ss==jr2)sc="Femme";
Personne p=new Personne(a,b,c,sc);
v.add(p);
System.out.println("Vous venez d'ajouter une personne,son nom est "
+p.getNom()+" "+p.getPrenom()+" c'est un(e) "+p.getSexe()+" et son age est "+p.getAge());}}


}
);
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==b2){
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
}
}
}
);

m2.addActionListener(new ActionListener(){
String c="";

public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==m2){
f1.setVisible(true);
f1.setSize(250,250);
f1.setLocationRelativeTo(null);
jp4.setLayout(new BorderLayout());
f1.add(jp4);
for(int i=0;i<v.size();i++){
c+=v.get(i)+"\n";
jta.setText(c);
jp4.add(jta,BorderLayout.CENTER);}
}
}
}
);

}
public static void main(String[]arvg){
Window w=new Window();
}
}



//MERCI D'avance;)
A voir également:

5 réponses

Thiphariel Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   11
 
if (s == jr1 && jr2.isSelected()) / if((jr1.isSelected() && jr2.isSelected())==true);

Alors non seulement c'est des conditions qui marcheront jamais, mais en plus y'a des erreurs =p

Sort une class spécialement pour tes ActionListener, tu te perdra moins.

class Listener implements ActionListener{
    public void actionPerformed(ActionEvent e) {
        if(jr1.isSelected()) {
            sc = "Homme";
        }
        else if(jr2.isSelected()) {
            sc = "Femme";
        }
    }
}


Et sur tes boutons :

jr1.addActionListener(new Listener());
jr2.addActionListener(new Listener()); 


Bonne journée.
1
Thiphariel Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   11
 
Oui ça marche aussi comme ca. Mais je trouve plus jolie de faire une classe pour les Listener personnellement.
Content de t'avoir un peu aidé =)
1
kozzi Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
aidez-moi s'il vous plait
0
kozzi Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
le probleme c'est que la variable (sc) est un attribut que je doit donner comme parametre pour la construction de l'objet personne,alors comment je dois faire pour appeler cette variable dans la classe où je veux creer cet objet
merci bien Mr.Thiphariel:)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kozzi Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
je te remercie de tout mon coeur Thipharel pour ton aide ca a bien marché mais sans creer une class pour les action...voici le nouveau code ::D:D
package abdelhamid;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

public class Window extends JFrame implements ActionListener{



//Le tableux des personnes;
static Vector<Personne> v=new Vector<Personne>();


//Fenetre de saisie;
JFrame f=new JFrame("Saisir Personne");

//Fenetre d'affichage;
JFrame f1=new JFrame("Liste des personnes");

//Panneaux;
JPanel jp=new JPanel();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
JPanel jp4=new JPanel();

//Les Labels;
JLabel jl=new JLabel("WELCOME AT THE MAIN TABLE ASSHOLE");
JLabel jl1=new JLabel("Nom");
JLabel jl2=new JLabel("Prenom");
JLabel jl3=new JLabel("Age");


//Les zones de texte;
JTextField jtf1=new JTextField();
JTextField jtf2=new JTextField();
JTextField jtf3=new JTextField();


//Buuton Radio;
ButtonGroup group=new ButtonGroup();
JRadioButton jr1=new JRadioButton("Homme");
JRadioButton jr2=new JRadioButton("Femme");

//Buttons simples;
JButton b1=new JButton("Ajouter");
JButton b2=new JButton("Vider");

//Menus;
JMenuBar j=new JMenuBar();
JMenu jm=new JMenu("Personne");
JMenu td=new JMenu("TDI");
JMenuItem m1=new JMenuItem("Saisir");
JMenuItem m2=new JMenuItem("Afficher");
JMenuItem m3=new JMenuItem("Fermer");

//TextArea;
JTextArea jta=new JTextArea(50,60);





public Window(){
setTitle("Accueil");
setSize(500,500);
setVisible(true);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
jp.setLayout(new BorderLayout());
j.add(jm);
jm.add(m1);
jm.add(m2);
jm.add(m3);
j.add(td);
add(j,BorderLayout.NORTH);
add(jl,BorderLayout.CENTER);
m1.addActionListener(this);
m2.addActionListener(this);
m3.addActionListener(this);
jr1.addItemListener(null);
jr2.addItemListener(null);
}

public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==m1){
//Fenetre de saisie;
f.setSize(300,300);
f.setVisible(true);
f.setLocationRelativeTo(null);

jp1.setLayout(new BorderLayout());
jp1.setLayout(new GridLayout(3,2));

jp1.add(jl1);jp1.add(jtf1);jp1.add(jl2);jp1.add(jtf2);jp1.add(jl3);jp1.add(jtf3);
f.add(jp1,BorderLayout.NORTH);

jp2.setLayout(new BorderLayout());
jp2.setLayout(new GridLayout(1,2));
group.add(jr1);group.add(jr2);
jp2.add(jr1);jp2.add(jr2);
f.add(jp2,BorderLayout.CENTER);

jp3.setLayout(new BorderLayout());
jp3.setLayout(new GridLayout(1,2));
jp3.add(b1);jp3.add(b2);
f.add(jp3,BorderLayout.SOUTH);
jr1.addActionListener(null);
jr2.addActionListener(null);
}

b1.addActionListener(
// on crée une classe anonyme implémentant ActionListener
new ActionListener(){

String sc="";

public void actionPerformed(ActionEvent e) {
Object ss=e.getSource();

if(ss==b1){
String a=jtf1.getText();
String b=jtf2.getText();

int c=Integer.parseInt(jtf3.getText());

if(jr1.isSelected())sc="Homme";if(jr2.isSelected())sc="Femme";
Personne p=new Personne(a,b,c,sc);

v.add(p);
System.out.println("Vous venez d'ajouter une personne,son nom est "
+p.getNom()+" "+p.getPrenom()+" c'est un(e) "+p.getSexe()+" et son age est "+p.getAge());}}


}
);
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==b2){
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
}
}
}
);

m2.addActionListener(new ActionListener(){
String c="";

public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==m2){
f1.setVisible(true);
f1.setSize(250,250);
f1.setLocationRelativeTo(null);
jp4.setLayout(new BorderLayout());
f1.add(jp4);
for(int i=0;i<v.size();i++){
c+=v.get(i)+"\n";
jta.setText(c);
jp4.add(jta,BorderLayout.CENTER);}
}
}
}
);

}
public static void main(String[]arvg){
Window w=new Window();
}
}
0