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();
}
}
0 comentarios:
Publicar un comentario