bonjour ,
je souhaite faire une recherche ,modification et suppression dans une arraylist on t’interrogeant avec mes JTextfields :
j'ai 2 classes : Personne avec ses propriétés et Stockage qui contient la list Des personnes :

Class Personne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class class_personne {
   private String Nom;
   private String Prenom;
   private String Adresse ; 
   private Date DateNaissance ;
 
    public class_personne(String Nom, String Prenom, String Adresse, Date DateNaissance) {
        this.Nom = Nom;
        this.Prenom = Prenom;
        this.Adresse = Adresse;
        this.DateNaissance = DateNaissance;
    }
 
    public String getNom() {
        return Nom;
    }
 
    public void setNom(String Nom) {
        this.Nom = Nom;
    }
 
    public String getPrenom() {
        return Prenom;
    }
 
    public void setPrenom(String Prenom) {
        this.Prenom = Prenom;
    }
 
    public String getAdresse() {
        return Adresse;
    }
 
    public void setAdresse(String Adresse) {
        this.Adresse = Adresse;
    }
 
    public Date getDateNaissance() {
        return DateNaissance;
    }
 
    public void setDateNaissance(Date DateNaissance) {
        this.DateNaissance = DateNaissance;
    }
 
   public int getAge()
   { 
       Date d1 = new Date();  
//        long a= d1.getTime()-this.DateNaissance.getTime();
        //int b=(int)a/(1000*60*60*24*30*12);
//            return b;
      int c= d1.getYear()-DateNaissance.getYear();
      return c ;
   }
Class Stockage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class Stockage {
    
    public static ArrayList <class_personne> lp = new ArrayList<class_personne>();
    
   public  static boolean exist(String n)
    {
       boolean t=false;
       for (int i=0;i<lp.size();i++){
           if (lp.get(i).getNom().equals(n)){
             t=true; 
               System.out.println(" ça existe ");
           }
       }
       return t;
    }
   public static void ajouter(class_personne p)
    {
        lp.add(p);
    }
   public  static void supprimer(String n)
    {
        for(int i=0 ; i <lp.size() ; i++)
        {
            if(lp.get(i).getNom() == n)
            {
                lp.remove(i);
            }
        }
    }

   public  static void rechercher(String s,class_personne pers)
    {
        for( int i = 0 ; i< lp.size() ; i++)
        {
          if(lp.get(i).getNom().equals(s))
//            if(lp.get(i).getNom().contains(s)) 
            {
                 System.out.println(lp.get(i));
                  
                 pers.setNom(lp.get(i).getNom());  
                 pers.setPrenom(lp.get(i).getPrenom());
                 pers.setAdresse(lp.get(i).getAdresse());
                 pers.setDateNaissance(lp.get(i).getDateNaissance());

            }
        }
        //------------------------------------
//        Iterator i = lp.iterator();
//        while(i.hasNext())
//        {
//            System.out.println(i.next()); 
//            pers.setNom(lp.get(i).ge);
//        }
    }
   public  static void modifier(String nom, class_personne pers)
    {
        for (int i = 0 ; i<lp.size(); i++)
        {
            if(lp.get(i).getNom().equals(nom))
            {
                lp.get(i).setNom(pers.getNom()); 
                lp.get(i).setPrenom(pers.getPrenom());
                lp.get(i).setAdresse(pers.getAdresse());
                lp.get(i).setDateNaissance(pers.getDateNaissance()); 
            }

        }
    } 
    
}
j'aia commencé à coder sur le bouton rechercher, ça ne fonctionne pas , j souhaite récupérer ce que j'ai ajouté dans mon ArrayList et l'afficher dans mes Jtext (je fait un ajout au préalable ) :

AJOUTER

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 private void bntAjoutActionPerformed(java.awt.event.ActionEvent evt) {                                         
 
        JOptionPane j = new JOptionPane();
        if (jNom.getText().isEmpty() || jPrenom.getText().isEmpty()  || jAdress.getText().isEmpty()  ||jDN.getText().isEmpty())
       {
           j.showMessageDialog(null," error remplissez les champs  !!" , "error", JOptionPane.ERROR_MESSAGE);
       }
       else
       {
 
                  String getn= jNom.getText(); 
                 if (!Stockage.exist(getn))
                 {
                    //-------------------------------------------
//                    JFormattedTextField jDN = new JFormattedTextField(new SimpleDateFormat("dd/MM/yy"));
                    String n= jNom.getText();      
                    String p=  jPrenom.getText();
                    String ad=  jAdress.getText(); 
//                     DateFormat t = new SimpleDateFormat("dd/MM/yy");
                     Date dateParse =(Date) jDN.getValue();
                  //-------------------------------------------
                    class_personne c=new class_personne(n, p, ad, dateParse);
                    Stockage.ajouter(c); 
                    j.showMessageDialog(null ,n +" "+p+" "+ad+ " "+ dateParse ,"info", JOptionPane.INFORMATION_MESSAGE);
 
                    jNom.getText().equals("");      
                    jPrenom.getText().equals("");
                    jAdress.getText().equals("");
                    jDN.getText().equals(""); 
                 }
                 else  
                 {
                     Stockage.exist(getn);
                      j.showMessageDialog(null ," existe deja" ,"info", JOptionPane.INFORMATION_MESSAGE);
                 } 
       }
    }
RECHERCHER

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void btnRechActionPerformed(java.awt.event.ActionEvent evt) {                                        
 
        JOptionPane j = new JOptionPane();
        String name = j.showInputDialog(null," nom : "," recherche par nom", JOptionPane.QUESTION_MESSAGE);
 
                    String p=  jPrenom.getText();
                    String ad=  jAdress.getText(); 
//                     DateFormat t = new SimpleDateFormat("dd/MM/yy");
                     Date dateParse =(Date) jDN.getValue();
        class_personne  c = new class_personne(name, p, ad, dateParse);
        if (Stockage.exist(name))
        {
            Stockage.rechercher(name, c); 
        }
    }