Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MOTEUR DE RECHERCHE EN SWING


Information sur la source

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é: 7 361 / 914

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
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

Pour les "Membres Club", vous pouvez 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 ;-)

Commentaires et avis

signaler à un administrateur
Commentaire de Phenixdu59 le 19/09/2004 09:55:45

comment l'installer sur un site ?

signaler à un administrateur
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 ;-)

signaler à un administrateur
Commentaire de Phenixdu59 le 22/09/2004 17:02:17

ouais je le veux bien stp

signaler à un administrateur
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 ;-)

signaler à un administrateur
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

signaler à un administrateur
Commentaire de faffou87 le 16/11/2007 14:40:25

very good men i appriciate you

signaler à un administrateur
Commentaire de FasteX_ le 16/11/2007 18:25:07

thanks :D

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,25 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.