Accueil > > > MOTEUR DE RECHERCHE EN SWING
MOTEUR DE RECHERCHE EN SWING
Information sur la source
Description
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 :-)
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
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|