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();
}
}