viernes, 23 de enero de 2009

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

}

}

0 comentarios:

Publicar un comentario

 

Pyr0S-9889 © 2008 Business Ads Ready is Designed by Ipiet Supported by Tadpole's Notez