Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
820 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Programmer une fonction recherche avec une ArrayList

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmer une fonction recherche avec une ArrayList

n°1947570
chacalvf
Posté le 05-12-2009 à 18:20:31  profilanswer
 

Bonjour à tous,
 
Je suis en train de programmer une fonction recherche et je rencontre quelques problèmes. En fait j'ai créé un objet appelé produit qui est constitué de plusieurs paramètres.
Voici le code correspondant :
<code>
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
 
 
public class fonction_recherche extends JFrame
 
{  
 private JPanel panneau = new JPanel();
 
 private produit Cuteur=new produit("Cuteur",23,"fixage","ZX23","1" );
 private produit Vis=new produit("Vis",23,"fixage","ZX23","1" );
 
 private DefaultListModel dlm = new DefaultListModel();
 
 private JList liste_resultat = new JList(dlm);
 private JButton search = new JButton("search" );
 private JTextField textF=new JTextField("...",10);
 private ArrayList<produit> stock = new ArrayList<produit>();
 
 
 public fonction_recherche()
 {
     super("Ebauche de programme" );
     setBounds(100, 200, 800, 150);
     setDefaultCloseOperation(EXIT_ON_CLOSE);
     panneau.add(textF);
     panneau.add(search);
     panneau.add(liste_resultat);
     setContentPane(panneau);
     setVisible(true);
     panneau.setBackground(Color.black);
     
     stock.add(Cuteur);
     stock.add(Vis);
       
     liste_resultat.setLayoutOrientation(JList.HORIZONTAL_WRAP);
     liste_resultat.setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
     
     
     search.addActionListener(new ActionListener()
     {
     public void actionPerformed(ActionEvent evenement)
      {  
      String texte_entre=textF.getText();
      for(produit p : stock)
       {
       if(texte_entre.equals(p.getNom()))
        {
        dlm.addElement(p);
        }                
       }
      liste_resultat = new JList(dlm);
   panneau.repaint();  
      }          
     });    
 }  
}
</code>
 
La classe produit :
<code>
public class produit
{
  private String nom;
  private int qte;
  private String ref;
  private String categorie;
  private String zone;
 
  public produit(String x,int a,String b,String c,String d)
  {
    nom=x; qte=a; categorie=b; ref=c; zone=d;
  }
 
   
  public String getNom()
  {
   return nom;
  }
  public int getQte()
  {
   return qte;
  }
  public String getRef()
  {
   return ref;
  }
  public String getCat()
  {
   return categorie;
  }
  public String getZone()
  {
   return zone;
  }
}
</code>
 
La classe d'éxécution :
<code>
public class testfonction_recherche
{
 public static void main(String[] args)  
 {  
 fonction_recherche a = new fonction_recherche();
 }
}
</code>
 
Le but de mon programme principal c'est de faire une recherche dans une ArrayList qui contient une liste de ce genre de produits à partir d'une comparaison chaine de caractère entrée dans un JTextField. Et ce pour pouvoir ensuite copier les lignes de l'ArrayList correspondant aux résultats de la recherche dans une JList.
 
Le problème c'est qu'il affiche bien les objets trouvés lors de la recherche mais avec un code plutôt bizarre (un truc du genre : produit@16f8cd0) au lieu de m'afficher les paramètres de mon objet comme je le voudrais (c'est à dire : le nom, la catégorie, la zone, la quantité, etc).
Sauriez vous de quoi cela peut venir ? Merci d'avance

mood
Publicité
Posté le 05-12-2009 à 18:20:31  profilanswer
 

n°1947580
sircam
I Like Trains
Posté le 05-12-2009 à 19:40:35  profilanswer
 

- Balises codes stp (avec des crochets [], pas des <> )
 
- Ta question concerne une List, inutile d'ajouter du code lié à Swing. Ca facilitera la lecture des intervenants et augmentera tes chances d'obtenir une réponse. De plus, ça mettra en évidence les confusions dans ton esprit et dans la conception de ton programme.
=> Ta fonction de recherche ne devrait rien faire intervenir qui soit lié à ton interface graphique.
 
- public produit(String x,int a,String b,String c,String d)
C'est mal d'utiliser a, b, c, d.
 
- public class testfonction_recherche  
Double non respect des conventions de nommage.
 
- À part ça, la réponse à ta question : écrire un toString().


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Programmer une fonction recherche avec une ArrayList

 

Sujets relatifs
JS/Ajax appel d'une fonction de webservice avec un paramètreFonction recherche excell
Programmer une impression en java (ac saut de ligne)Probleme, fonction page précédente / suivante
Dans le flux du libre, je suis à la recherche d'une base de données QR[GLSL - branchement conditionnel + appel de fonction]
PB fonction javascript [RESOLU]recherche des ressources Visual C++
ada différence fonction, procédure 
Plus de sujets relatifs à : Programmer une fonction recherche avec une ArrayList


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR