IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Moteur de recherche


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Homme Profil pro
    java
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : java
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Moteur de recherche
    Bonsoir
    Mon prof de programmation m’a donné un exo très difficile à réaliser .C’est pourquoi je me suis orienté sur ce forum pour avoir du soutien.
    Le principe est de réaliser un moteur de recherche pour faciliter la saisie dans un tableau.L’exo est que j’ai un tableau ou je dois remplir une colonne appelée <prénom>.Le problème est que quand je commence à remplir le nom il doit m’afficher sur un menu contextuel les noms commençant par les premiers lettres inscrits .Par exemple si je commence a taper B il fait le recherche et m’affiche sur un menu contextuel les noms suivantes < Andre,Antoine ,Alexandrin,Angela >.Comme la méme chose si on recherchait dans le moteur de recherche google il nous affiche les premiers mots qui débutent les lettres inscrits .Voila la liste des noms ou on devrait faire une recherce <John,Andre,philip,Rosalio,martin,Alexandrin,carlos,Antoine,victor,Raul,Martez,Angela>.Le problemme est que comment realiser un moteur de recherche . ça c’est le code
    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
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.GridLayout;
     
    import javax.swing.BorderFactory;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
     
    //CTRL + SHIFT + O pour générer les imports
    public class Test extends JFrame {
     
      public Test(){
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("JTable");
        this.setSize(600, 320);
    JLabel liste=new JLabel("liste des travaileurs a rechercher (en rouge)");
    JLabel prenoms=new JLabel("John,Andre,philip,Rosalio,martin,carlos,Angela,Antoine,Alexandrin,victor,Raul,Martez");
    liste.setBorder(BorderFactory.createLineBorder(Color.BLUE));
    prenoms.setBorder(BorderFactory.createLineBorder(Color.BLACK));
    prenoms.setForeground(Color.RED);
     
    setLayout(new GridLayout(3, 2));
    add(liste ,BorderLayout.SOUTH);
    add(prenoms ,BorderLayout.SOUTH); 
        //Les données du tableau
        Object[][] data = {
          {"", "", ""},
          {"", "", ""},
          {"", "", ""},
          {"", "", ""},
        };
        String  title[] = {"Prenom", "Age", "metier"};
        JTable tableau = new JTable(data, title);
           this.getContentPane().add(new JScrollPane(tableau));
      }   
     
      public static void main(String[] args){
        Test fen = new Test();
        fen.setVisible(true);
      }   
    }

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Points : 349
    Points
    349
    Par défaut
    Bsr,en quelle langage veut-tu réaliser ton travail?

  3. #3
    Candidat au Club
    Homme Profil pro
    java
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : java
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    bjrs
    je suis entrain de developez en java .Reguardez le code ci dessus que j ai donné .Je travaille en java.
    J'ai utilisé l'exemple de la moteur de recherche google pour vous expliquer ce que je veux faire mais ce n'ai rien à voir avec le net.

  4. #4
    Membre confirmé
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Points : 580
    Points
    580
    Par défaut
    et tu as besoin d'aide avec la partie graphique (afficher une liste de String en menu contextuel) ou avec l'algorithme de recherche (une méthode qui retourne une liste de String filtrée en utilisant une liste de mots et un mot à chercher)?

  5. #5
    Candidat au Club
    Homme Profil pro
    java
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : java
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bjr
    C'est avec l'algorithme de recherche.J'ai recherché au niveau du net pour trouver une solution mais je vois que des choses que je n'arrive pas à comprendre.Je souhaite que vous me tendiez la main.

  6. #6
    Membre confirmé
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Points : 580
    Points
    580
    Par défaut
    Bonjour,

    pour l'algorithme, vous n'avez qu'à créer une méthode qui prend:
    • liste de tous les noms
    • texte de recherche


    et retourne une liste des noms filtrés.

    Dans ta méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<String> results = new ArrayList<String>();
    for (String nom: tousLesNoms) {
      if (nom.startsWith(texteDeRecherche)) results.add(nom);
    }
     
    return results;
    Cela te donne tous les noms commençant par les lettres demandés (en tenant compte des majuscules).
    Si tu voulais avoir les noms qui ont la combinaison de lettres n'importe où, tu pourrais changer le test pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom.indexOf(texteDeRecherche) != -1

  7. #7
    Candidat au Club
    Homme Profil pro
    java
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : java
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bswr
    Malgres les bases que vous m'avez données j'eprouve à ressoudre le probléme .J'essaye par tous les moyens .J'ai crée les fonctions que vous m'avez dit mais je ne suis pas à bout de mes efforts.Si c'est possible d'avoir une exemple en mode console pour mieux voir les choses dans la pratique .C est la premiere fois que je fais l algorithme de recherche.
    Bonne féte de Noel!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  8. #8
    Membre confirmé
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Points : 580
    Points
    580
    Par défaut
    Ce code:
    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
    package developpez;
     
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
     
    public class App {
     
        public static void main(String[] args) {
     
            // Toute ta liste de noms
            List<String> names = Arrays.asList("John", "Andre", "philip", "Rosalio", "martin", "carlos", "Angela", "Antoine", "Alexandrin", "victor", "Raul", "Martez");
     
            App app = new App();
     
            // Trouver et afficher les résultats
            showList("An", app.search(names, "An"));
            showList("R", app.search(names, "R"));
     
        }
     
        private List<String> search(List<String> names, String text) {
            // Créer la liste de résultats
            List<String> results = new ArrayList<String>();
     
            // Vérifier tous les noms
            for (String name : names) {
                if (name.startsWith(text)) {
                    results.add(name);
                }
            }
     
            return results;
        }
     
        private static void showList(String text, List<String> results) {
            System.out.println("Résultats de la recherche pour: " + text);
            for (String result : results) {
                System.out.println("\t" + result);
            }
            System.out.println();
        }
     
    }
    Produit le résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Résultats de la recherche pour: An
    	Andre
    	Angela
    	Antoine
     
    Résultats de la recherche pour: R
    	Rosalio
    	Raul

  9. #9
    Candidat au Club
    Homme Profil pro
    java
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : java
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonsoir
    Je vous remercie pour le code en console proposé mais j'ai du probléme à la manupiler au niveau des interaces graphiques.
    Je n'arrive pas à mettre la liste des noms recherché sur un JList mais dans un JPopMenu lorssque je commence a taper.
    Voici un exemple dont je veux que vous m'adez à compléter.Ca fait toute la journée que j'y travaille.
    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
    import java.awt.BorderLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    public class Test2 extends JFrame {
    	public Test2(){
    		 JPanel panel = new JPanel(new BorderLayout());
    		    JLabel label = new JLabel("Tapez le prenom: ");
    		    JTextField textField = new JTextField();
    		    label.setLabelFor(textField);
    		    panel.add(label, BorderLayout.WEST);
    		    panel.add(textField, BorderLayout.CENTER);
    		    add(panel, BorderLayout.NORTH);
    		    setSize(250, 100);
    		    setVisible(true);	
    	}
      public static void main(String args[]) {
    new Test2();    
      }
    }

  10. #10
    Membre confirmé
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Points : 580
    Points
    580
    Par défaut
    je ne suis pas très connaissant côté AWT et Swing malheureusement

Discussions similaires

  1. [Info]moteur de recherche full text en environnement j2ee
    Par ddams dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/11/2004, 19h39
  2. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  3. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07
  4. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo