rechercher dans une arraylist
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:
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:
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:
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:
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);
}
} |