Clase Buscador
Bueno este es la clase principal de mi proyecto.. aqui creo el JFrame… el método que usé para hacer la busqueda es recursivo (aún no se usar árboles Y_Y) si alguien está interesado en ayudar a mejorar el código por favor adelante!!!!….. en la sección Librerias les pondré otras librerias que usé….. aquí les dejo la clase principal:
import java.io.*;
import javax.swing.*;
import java.awt.event.*;public class Buscador extends Paneles{
private static Buscador busca;
private ClaseBuscaWord cBuscaWord;
private ClaseBuscaPdf cBuscaPdf;private JFrame frame;
private JMenuBar barraMenu;
private JMenu opcion;
private JMenuItem busqueda, salir;private File directorio;
private String frase;
private int resultado;public Buscador(){
super();
cBuscaWord = new ClaseBuscaWord();
cBuscaPdf = new ClaseBuscaPdf();directorio = null;
resultado = -1;
frase = null;crearMenu();
crearFrame();
setElementos();
setEventos();}
public void crearMenu(){
barraMenu = new JMenuBar();
opcion = new JMenu(«Opcion»);
busqueda = new JMenuItem(«Buscar»);
salir = new JMenuItem(«Salir»);
opcion.add(busqueda);
opcion.add(salir);
barraMenu.add(opcion);}
public void crearFrame(){
frame = new JFrame(«Buscador Version 0.1.1 :::…»);
frame.add(«West»,super.seleccion);
frame.add(«South»,super.errores);
frame.add(«North»,super.entrada);
frame.add(«Center»,super.salida);}
public void setElementos(){
frame.setJMenuBar(barraMenu);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setSize(500,500);
frame.setLocation(300,100);
frame.setVisible(true);}
public void setEventos(){
busqueda.addMouseListener( new MouseAdapter(){
public void mousePressed(MouseEvent e){setText();
if(doc.isSelected()||pdf.isSelected()){
try{
frase = campoFrase.getText();
if(hdd.isSelected())
directorio = new File(«C:/»);else
directorio = new File(campoRuta.getText());listarDirectorio(directorio);
JOptionPane.showMessageDialog(null,»Fin de Busqueda»);if ((areaTexto.getText()).equals(«»))
areaTexto.setText(«No hay resultados para su Busqueda!»);}catch(Exception ex){
JOptionPane.showMessageDialog(null,
«Error:\nVerifique la Ruta de Busqueda»,
«Error», JOptionPane.ERROR_MESSAGE);}
}else
JOptionPane.showMessageDialog(null,
«Seleccione un Tipo de Archivo a Buscar»,
«Informacion», JOptionPane.INFORMATION_MESSAGE);directorio = null;
}
});salir.addMouseListener( new MouseAdapter(){
public void mousePressed(MouseEvent e){
JOptionPane.showMessageDialog(null,
«Gracias por usar este Software!!»,
«Saliendo…»,JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
});}
public static void listarDirectorio(File directorio){
File [] ficheros = directorio.listFiles();
for(int x=0;x<ficheros.length;x++){
if(ficheros[x].isDirectory())
listarDirectorio(ficheros[x]);else
try{if((ficheros[x].getName()).endsWith(«.doc»)&&busca.doc.isSelected())
busca.busquedaWord(ficheros[x]);if((ficheros[x].getName()).endsWith(«.pdf»)&&busca.pdf.isSelected())
busca.busquedaPdf(ficheros[x]);}catch(Exception exc){
busca.areaError.append(«Error en: »
+ficheros[x]+»\nTipo de Error: «+exc+»\n\n»);}
}
}
public void busquedaWord(File fichero) throws Exception{
cBuscaWord.loadFile(«»+fichero);
resultado = cBuscaWord.we.getText().indexOf(frase);if(resultado>-1)
areaTexto.append(«Fichero: «+fichero+»\n»);cBuscaWord.close();
}
public void busquedaPdf(File fichero) throws Exception{
cBuscaPdf.loadFile(«»+fichero);
resultado = (cBuscaPdf.getText()).indexOf(frase);if(resultado>-1)
areaTexto.append(«Fichero: «+fichero+»\n»);cBuscaPdf.close();
}public static void main(String args []){
busca = new Buscador();
}
}
Deja un comentario