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

}

}

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: