begin process at 2010 02 09 21:30:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Reseaux et Internet

 > MOTEUR DE RECHERCHE EN SWING

MOTEUR DE RECHERCHE EN SWING


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Reseaux et Internet Niveau :Débutant Date de création :18/09/2004 Date de mise à jour :25/09/2004 07:18:49 Vu / téléchargé :8 610 / 1 082

Auteur : FasteX_

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voilà, je présente un code destiné à facilité la recherche sur le Web! En gros vous n'avez qu'a selectionner le site à partir duquel vous voulez faire votre recherche et taper le ou les mot-clés ;-)

J'espère avoir assez documenté ma source :-p

Source

  • /*
  • @auteur: FasteX
  • Date de création: 17/09/04
  • Dernière modif: 18/09/04
  • */
  • import java.awt.*;
  • import java.awt.event.*;
  • import java.net.*;
  • import java.io.*;
  • import javax.swing.*;
  • import javax.swing.event.*;
  • public class MoteurRecherche extends JFrame implements ActionListener {
  • private String currentSrc;
  • private String strEnginez[] = {"Google Search", "Google Images",
  • "Yahoo Search", "Yahoo Images", "AltaVista Search",
  • "AltaVista Images", "AltaVista MP3/Audio", "AltaVista Video" };
  • private String urlEnginez[] = {
  • "http://www.google.com/search?q=", // Google Search
  • "http://www.google.com/images?q=", // Google Images
  • "http://search.yahoo.com/search?p=", // Yahoo! Search
  • "http://images.search.yahoo.com/search/images?p=", // Yahoo! Images
  • "http://www.altavista.com/web/results?q=", // AltaVista Search
  • "http://www.altavista.com/image/results?q=", // AltaVista Images
  • "http://www.altavista.com/audio/results?q=", // AltaVista MP3/Audio
  • "http://www.altavista.com/video/results?q=" }; // AltaVista Video
  • private String strProg[] = { "Java FR", "Codes-Sources" };
  • private String urlProg[] = {
  • "http://www.javafr.com/gma/tout/", // Java FR
  • "http://www.codes-sources.com/gma/tout/" }; // Codes-Sources
  • private String strGamez[] = { "JeuxVideo.com", "Gamez.com" };
  • private String urlGamez[] = {
  • "http://www.jeuxvideo.com/schr.htm?textfield=", // JeuxVideo.com
  • "http://filefan.com/sage/games.x?p=&ogs=&process=+Search+&k=" }; // Gamez.com
  • private String strDlz[] = { "ZDNet", "FilePlanet" };
  • private String urlDlz[] = {
  • "http://downloads-zdnet.com.com/3120-20-0.html?qt=", // ZDNet
  • "http://www.fileplanet.com/search.aspx?q=" }; // FilePlanet
  • private JRadioButtonMenuItem[] MI_ENGINEZ, MI_PROG, MI_GAMEZ, MI_DLZ;
  • private JTextField txKeywords;
  • private JButton btnSearch;
  • public MoteurRecherche() {
  • super.setTitle(":: Moteur de recherche ::");
  • JMenuBar barre = new JMenuBar();
  • // Menu 1: [ À partir de... ]
  • JMenu M_FROM = new JMenu("À partir de...");
  • ButtonGroup group = new ButtonGroup();
  • // Sous-menu 1: [ Moteurs ]
  • JMenu SM_MTR = new JMenu("Moteurs");
  • MI_ENGINEZ = new JRadioButtonMenuItem[strEnginez.length];
  • // création des options du sous-menu «Moteurs»
  • for (int i = 0; i < strEnginez.length; i++) {
  • MI_ENGINEZ[i] = new JRadioButtonMenuItem(strEnginez[i]);
  • MI_ENGINEZ[i].addActionListener(this);
  • group.add(MI_ENGINEZ[i]);
  • SM_MTR.add(MI_ENGINEZ[i]);
  • }
  • currentSrc = strEnginez[0]; // Assigne à "currentSrc" une valeur par défaut
  • MI_ENGINEZ[0].setSelected(true); // Selectionne une option par défaut
  • M_FROM.add(SM_MTR);
  • // Sous-menu 2: [ Programmation ]
  • JMenu SM_PRG = new JMenu("Programmation");
  • MI_PROG = new JRadioButtonMenuItem[strProg.length];
  • // Création des options du sous-menu «Programmation»
  • for (int i = 0; i < strProg.length; i++) {
  • MI_PROG[i] = new JRadioButtonMenuItem(strProg[i]);
  • MI_PROG[i].addActionListener(this);
  • group.add(MI_PROG[i]);
  • SM_PRG.add(MI_PROG[i]);
  • }
  • M_FROM.add(SM_PRG);
  • // Sous-menu 3: [ Jeux ]
  • JMenu SM_GZ = new JMenu("Jeux");
  • MI_GAMEZ = new JRadioButtonMenuItem[strGamez.length];
  • for (int i = 0; i < strGamez.length; i++) {
  • MI_GAMEZ[i] = new JRadioButtonMenuItem(strGamez[i]);
  • MI_GAMEZ[i].addActionListener(this);
  • group.add(MI_GAMEZ[i]);
  • SM_GZ.add(MI_GAMEZ[i]);
  • }
  • M_FROM.add(SM_GZ);
  • // Sous-menu 4: [ Téléchargements ]
  • JMenu SM_DL = new JMenu("Téléchargements");
  • MI_DLZ = new JRadioButtonMenuItem[strDlz.length];
  • for (int i = 0; i < strDlz.length; i++) {
  • MI_DLZ[i] = new JRadioButtonMenuItem(strDlz[i]);
  • MI_DLZ[i].addActionListener(this);
  • group.add(MI_DLZ[i]);
  • SM_DL.add(MI_DLZ[i]);
  • }
  • M_FROM.add(SM_DL);
  • barre.add(M_FROM);
  • // Assigne "barre" comme barre de menus
  • setJMenuBar(barre);
  • Container c = getContentPane();
  • // Panneau d'affichage (au centre)
  • CenterPanel panel = new CenterPanel();
  • c.add(panel, BorderLayout.CENTER);
  • // Panneau de recherche (en bas)
  • JPanel p = new JPanel();
  • p.setLayout( new FlowLayout(FlowLayout.CENTER) );
  • txKeywords = new JTextField(15);
  • p.add(txKeywords);
  • btnSearch = new JButton("Rechercher");
  • btnSearch.addActionListener(this);
  • p.add(btnSearch);
  • c.add(p, BorderLayout.SOUTH);
  • // Récupérer la résolution de l'écran (hauteur)
  • Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
  • int screenHeight = d.getSize().height;
  • setSize(300, 125);
  • setResizable(false);
  • setLocation(0, screenHeight - 152);
  • show();
  • }
  • public void actionPerformed(ActionEvent e) {
  • if (btnSearch == e.getSource() ) {
  • /*
  • Normalement, je mettrait ici la vérification des options du sous-menu «Moteurs», mais
  • je doit la mettre à la fin de la condition pour que tout fonctionne, je n'ai aucune idée pourquoi...
  • */
  • // Vérifie si option du sous-menu «Programmation» est selectionnée
  • for (int i = 0; i < urlProg.length; i++) {
  • if ( MI_PROG[i].isSelected() )
  • affichePage( urlProg[i] + txKeywords.getText() );
  • }
  • // Vérifie si option du sous-menu «Jeux» est sélectionnée
  • for (int i = 0; i < urlGamez.length; i++) {
  • if ( MI_GAMEZ[i].isSelected() )
  • affichePage( urlGamez[i] + txKeywords.getText() );
  • }
  • // Vérifie si option du sous-menu «Téléchargements» est sélectionnée
  • for (int i = 0; i < urlDlz.length; i++) {
  • if ( MI_DLZ[i].isSelected() )
  • affichePage( urlDlz[i] + txKeywords.getText() );
  • }
  • // Vérifie si option du sous-menu «Moteurs» est sélectionnée
  • for (int i = 0; i < urlEnginez.length; i++) {
  • if ( MI_ENGINEZ[i].isSelected() )
  • affichePage( urlEnginez[i] + txKeywords.getText() );
  • }
  • }
  • // événements des options des sous-menus
  • if (e.getSource() instanceof JRadioButtonMenuItem) {
  • currentSrc = e.getActionCommand();
  • repaint();
  • }
  • }
  • private void affichePage(String urlName) {
  • String iedir = "C:\\Program Files\\Internet Explorer\\IExplore"; // Répertoir d'Internet Explorer, modifier si ce n'est pas le chemin du navigateur que vous voulez utiliser.
  • try {
  • Runtime r = Runtime.getRuntime();
  • r.exec(iedir + " " + urlName);
  • }
  • catch(MalformedURLException e) {}
  • catch(FileNotFoundException e) {}
  • catch(IOException e) {}
  • }
  • public static void main(String[] args) {
  • MoteurRecherche app = new MoteurRecherche();
  • app.setDefaultCloseOperation(EXIT_ON_CLOSE);
  • }
  • // Panneau
  • private class CenterPanel extends JPanel {
  • public void paint(Graphics g) {
  • g.setColor( new Color(150, 0, 0) );
  • g.setFont( new Font("Ms Serif", Font.BOLD, 20) );
  • g.drawString(currentSrc, 20, 20);
  • }
  • }
  • }
/*
    @auteur: FasteX
    Date de création: 17/09/04
    Dernière modif: 18/09/04
*/

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;

public class MoteurRecherche extends JFrame implements ActionListener {
    private String currentSrc;
    private String strEnginez[] = {"Google Search", "Google Images", 
        "Yahoo Search", "Yahoo Images", "AltaVista Search",
        "AltaVista Images", "AltaVista MP3/Audio", "AltaVista Video" };
    private String urlEnginez[] = {
        "http://www.google.com/search?q=", // Google Search
        "http://www.google.com/images?q=", // Google Images
        "http://search.yahoo.com/search?p=", // Yahoo! Search
        "http://images.search.yahoo.com/search/images?p=", // Yahoo! Images
        "http://www.altavista.com/web/results?q=", // AltaVista Search
        "http://www.altavista.com/image/results?q=", // AltaVista Images
        "http://www.altavista.com/audio/results?q=", // AltaVista MP3/Audio
        "http://www.altavista.com/video/results?q=" }; // AltaVista Video
    private String strProg[] = { "Java FR", "Codes-Sources" };
    private String urlProg[] = {
        "http://www.javafr.com/gma/tout/", // Java FR
        "http://www.codes-sources.com/gma/tout/" }; // Codes-Sources
    private String strGamez[] = { "JeuxVideo.com", "Gamez.com" };
    private String urlGamez[] = {
        "http://www.jeuxvideo.com/schr.htm?textfield=", // JeuxVideo.com
        "http://filefan.com/sage/games.x?p=&ogs=&process=+Search+&k=" }; // Gamez.com
    private String strDlz[] = { "ZDNet", "FilePlanet" };
    private String urlDlz[] = {
        "http://downloads-zdnet.com.com/3120-20-0.html?qt=", // ZDNet
        "http://www.fileplanet.com/search.aspx?q=" }; // FilePlanet
    private JRadioButtonMenuItem[] MI_ENGINEZ, MI_PROG, MI_GAMEZ, MI_DLZ;
    private JTextField txKeywords;
    private JButton btnSearch;

    public MoteurRecherche() {
        super.setTitle(":: Moteur de recherche ::");
        JMenuBar barre = new JMenuBar();

        // Menu 1: [ À partir de... ]
        JMenu M_FROM = new JMenu("À partir de...");
        ButtonGroup group = new ButtonGroup();

        // Sous-menu 1: [ Moteurs ]
        JMenu SM_MTR = new JMenu("Moteurs");
        MI_ENGINEZ = new JRadioButtonMenuItem[strEnginez.length];
            // création des options du sous-menu «Moteurs»
        for (int i = 0; i < strEnginez.length; i++) {
            MI_ENGINEZ[i] = new JRadioButtonMenuItem(strEnginez[i]);
            MI_ENGINEZ[i].addActionListener(this);
            group.add(MI_ENGINEZ[i]);
            SM_MTR.add(MI_ENGINEZ[i]);
        }
        currentSrc = strEnginez[0]; // Assigne à "currentSrc" une valeur par défaut
        MI_ENGINEZ[0].setSelected(true); // Selectionne une option par défaut
        M_FROM.add(SM_MTR);

        // Sous-menu 2: [ Programmation ]
        JMenu SM_PRG = new JMenu("Programmation");
        MI_PROG = new JRadioButtonMenuItem[strProg.length];
            // Création des options du sous-menu «Programmation»
        for (int i = 0; i < strProg.length; i++) {
            MI_PROG[i] = new JRadioButtonMenuItem(strProg[i]);
            MI_PROG[i].addActionListener(this);
            group.add(MI_PROG[i]);
            SM_PRG.add(MI_PROG[i]);
        }
        M_FROM.add(SM_PRG);

        // Sous-menu 3: [ Jeux ]
        JMenu SM_GZ = new JMenu("Jeux");
        MI_GAMEZ = new JRadioButtonMenuItem[strGamez.length];
        for (int i = 0; i < strGamez.length; i++) {
            MI_GAMEZ[i] = new JRadioButtonMenuItem(strGamez[i]);
            MI_GAMEZ[i].addActionListener(this);
            group.add(MI_GAMEZ[i]);
            SM_GZ.add(MI_GAMEZ[i]);
        }
        M_FROM.add(SM_GZ);

        // Sous-menu 4: [ Téléchargements ]
        JMenu SM_DL = new JMenu("Téléchargements");
        MI_DLZ = new JRadioButtonMenuItem[strDlz.length];
        for (int i = 0; i < strDlz.length; i++) {
            MI_DLZ[i] = new JRadioButtonMenuItem(strDlz[i]);
            MI_DLZ[i].addActionListener(this);
            group.add(MI_DLZ[i]);
            SM_DL.add(MI_DLZ[i]);
        }
        M_FROM.add(SM_DL);
        barre.add(M_FROM);

        // Assigne "barre" comme barre de menus
        setJMenuBar(barre);

        Container c = getContentPane();

        // Panneau d'affichage (au centre)
        CenterPanel panel = new CenterPanel();
        c.add(panel, BorderLayout.CENTER);

        // Panneau de recherche (en bas)
        JPanel p = new JPanel();
        p.setLayout( new FlowLayout(FlowLayout.CENTER) );

        txKeywords = new JTextField(15);
        p.add(txKeywords);

        btnSearch = new JButton("Rechercher");
        btnSearch.addActionListener(this);
        p.add(btnSearch);
        c.add(p, BorderLayout.SOUTH);

        // Récupérer la résolution de l'écran (hauteur)
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int screenHeight = d.getSize().height;

        setSize(300, 125);
        setResizable(false);
        setLocation(0, screenHeight - 152);
        show();
    }

    public void actionPerformed(ActionEvent e) {
        if (btnSearch == e.getSource() ) {
            /*
                Normalement, je mettrait ici la vérification des options du sous-menu «Moteurs», mais
                je doit la mettre à la fin de la condition pour que tout fonctionne, je n'ai aucune idée pourquoi...
            */
            // Vérifie si option du sous-menu «Programmation» est selectionnée
            for (int i = 0; i < urlProg.length; i++) {
                if ( MI_PROG[i].isSelected() )
                    affichePage( urlProg[i] + txKeywords.getText() );
            }
            // Vérifie si option du sous-menu «Jeux» est sélectionnée
            for (int i = 0; i < urlGamez.length; i++) {
                if ( MI_GAMEZ[i].isSelected() )
                    affichePage( urlGamez[i] + txKeywords.getText() );
            }
            // Vérifie si option du sous-menu «Téléchargements» est sélectionnée
            for (int i = 0; i < urlDlz.length; i++) {
                if ( MI_DLZ[i].isSelected() )
                    affichePage( urlDlz[i] + txKeywords.getText() );
            }
            // Vérifie si option du sous-menu «Moteurs» est sélectionnée
            for (int i = 0; i < urlEnginez.length; i++) {
                if ( MI_ENGINEZ[i].isSelected() )
                    affichePage( urlEnginez[i] + txKeywords.getText() );
            }
        }

        // événements des options des sous-menus
        if (e.getSource() instanceof JRadioButtonMenuItem) {
            currentSrc = e.getActionCommand();
            repaint();
        }
    }

    private void affichePage(String urlName) {
        String iedir = "C:\\Program Files\\Internet Explorer\\IExplore"; // Répertoir d'Internet Explorer, modifier si ce n'est pas le chemin du navigateur que vous voulez utiliser.
        try {
            Runtime r = Runtime.getRuntime();
            r.exec(iedir + " " + urlName);
        }
        catch(MalformedURLException e) {}
        catch(FileNotFoundException e) {}
        catch(IOException e) {}
    }

    public static void main(String[] args) {
        MoteurRecherche app = new MoteurRecherche();
        app.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    // Panneau
    private class CenterPanel extends JPanel {
        public void paint(Graphics g) {
            g.setColor( new Color(150, 0, 0) );
            g.setFont( new Font("Ms Serif", Font.BOLD, 20) );
            g.drawString(currentSrc, 20, 20);
        }
    }
}

 Conclusion

C'est à vous modifier ce code selon vos préférences, c'est pas tout le monde qui aime les mêmes sites :-P

Si vous ne savez pas comment, demandez-le moi :-)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

18 septembre 2004 06:24:31 :
J'ai tout simplement réduit le nombre de lignes en condensant un peu plus les String[] au début du code, tout en essayant de garder le code aussi lisible ;-)
25 septembre 2004 07:18:50 :
Je ne sais pas si on peu appeler ca une modification :P. J'ai régler la position du frame juste au dessus du menu démarrer. PS: Mettre un raccourci vers le jar dans la barre de lancements rapides donne de très bons résultats ;-)

 Sources du même auteur

Source avec Zip Source avec une capture NAVIGATEUR INTERNET - MISE À JOUR
Source avec Zip Source avec une capture CALCULATEUR D'AIRES ET VOLUMES DES SOLIDES LES PLUS COURANTS
Source avec Zip Source avec une capture EDITEUR DE TEXTE FONCTIONNEL EN SWING

 Sources de la même categorie

Source avec Zip SERVEUR GENERIQUE par pacifikateur
Source avec Zip Source avec une capture JOMESSENGER : APPLICATION CLIENT/SERVER par numurique
Source avec Zip MINI SERVEUR HTTP par yvesyves
Source avec Zip Source avec une capture TCHAT EN DEUX PARTIES: CLIENT ET SERVEUR par benads
Source avec Zip CONNEXION SERVEUR VIA PROXY EN JAVA par moumou95

Commentaires et avis

Commentaire de Phenixdu59 le 19/09/2004 09:55:45

comment l'installer sur un site ?

Commentaire de FasteX_ le 20/09/2004 02:23:56

Pour l'instant, ca éxecute le navigateur sur la machine avec Runtime (donc impossible d'éxécuter dans un navigateur).

PS: J'ai un code semblable en JavaScript. L'interface est moins belle, mais il se met facilement sur un site ;-)

Commentaire de Phenixdu59 le 22/09/2004 17:02:17

ouais je le veux bien stp

Commentaire de FasteX_ le 25/09/2004 03:43:59

Je t'ai envoyé un message(bon enfin, 2 messages car le premier s'est envoyé tout seul avant d'etre fini :P) avec le code ;-)

Commentaire de liquideshark le 15/09/2006 00:12:33

Salut

cest au sujet du jar ca sexecute sur ma machine mais n'executre ps les recherche quon lui demande il se passe rien

merci de me repondre jamalator@hotmail.fr

ps :super interface

Commentaire de faffou87 le 16/11/2007 14:40:25

very good men i appriciate you

Commentaire de FasteX_ le 16/11/2007 18:25:07

thanks :D

Commentaire de emine5 le 11/01/2009 01:09:08

merci beaucoup pour ce code

Commentaire de FasteX_ le 12/01/2009 08:06:13

Content que mon code te serve à quelque chose! Le concept à la base est très simple, mais peu facilement devenir la base de quelque chose de beaucoup plus gros si on laisse place à l'imagination. Par exemple, permettre le choix de plusieurs moteurs de recherches à la fois pour une même recherche ou encore bâtir une application qui puisse se servir d'une liste de sites pour faire de la veille technologique... *bave*

Commentaire de fadwaISIMM le 15/06/2009 23:52:05

que dieu te requitte par son indulgence, très bon code vraiment j'en besoin dans mon projet, je suis entrain de faire un moteur de recherche! ce code nchallah me servira bien ds mon travail

fadwa

Commentaire de iskes le 04/02/2010 01:11:41

est ce que je peux avoir ouvrir la page html dans l'application et non pas à l'extérieur( l'explorateur windows qui se lance)?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales