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:

Descargar Buscador.java

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