Se necesitan algunos jars para que funcione los look and feels
Pero si quieren el programa se los envio por email
dembogurski@gmail.com
Codigo Fuente
//------------------ Primera clase --------------------///
package velox;
/**
*
Title: Velox
*
Description: Buscador ultra Rapido
*
Copyright: Copyright (c) 2005
*
Company: Douglas & Douglas
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
/**
*
Title: Buscador
*
Description: Buscador Ultra rapido parecido a diferencia del de Windows
*
Copyright: Copyright (c) 2005
*
Company: DumboSoft
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
/**
* This Java class implements a simplified version of the Unix tool fgrep.
* It searches for strings (not patterns) in a given list of input files
* and prints all matching lines to the standard output.
*/
public class Grep {
/**
* string to look for (simple string, not a pattern)
*/
protected final String text;
/**
* Initialize a new Grep object for the given search string.
* @param text string to look for
*/
public Grep (String text){
this.text = text;
}
/**
* Read lines from reader and print all lines to the standard
* output that contain the search string.
* @param reader input source (Reader)
* @throws IOException when an I/O error occurs
*/
public void grep (Reader reader, String dir) throws IOException {
BufferedReader in = new BufferedReader(reader);
String line;
while ((line = in.readLine()) != null){ // read line
if (line.indexOf(text) != -1){ // contains text?
// System.out.println(line); // yes --> print
System.out.flush(); // flush output (optional)
// System.out.println("Palabra en contrada en el archivo "+ dir );
}
}
}
}
/////--------------------2da Clase-------------------///////////
package velox;
/**
*
Title: Velox
*
Description: Buscador ultra Rapido
*
Copyright: Copyright (c) 2005
*
Company: Douglas & Douglas
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
public class Cola extends java.util.ArrayList {
public Object sacar()throws NullPointerException{
Object primero = this.get(0);
this.remove(0);
return primero;
}
public void agregar(Object obj){
this.add(obj);
}
public boolean vacia(){
if(this.size() == 0 ) return true;
else return false;
}
public int tamano(){
return this.size();
}
public void vaciarCola(){
this.clear();
}
}
////////-------------3ra clase------------------///////////////////////
package velox;
/**
*
Title: Velox
*
Description: Buscador ultra Rapido
*
Copyright: Copyright (c) 2005
*
Company: Douglas & Douglas
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
import javax.swing.UIManager;
import java.awt.*;
import javax.swing.*;
/**
*
Title: Buscador
*
Description: Buscador Ultra rapido parecido a diferencia del de Windows
*
Copyright: Copyright (c) 2005
*
Company: DumboSoft
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
public class AplicacionBuscar {
boolean packFrame = false;
//Construct the application
public AplicacionBuscar() {
MainFrame frame = new MainFrame();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
//Main method
public static void main(String[] args) {
try {
java.util.HashMap conf = MainFrame.configuracionDeSistema();
String look = conf.get("Apariencia").toString();
// System.out.println(look);
cambiarLook(look);
}
catch(Exception e) {
e.printStackTrace();
}
new AplicacionBuscar();
}
public static void cambiarLook(String look){
java.util.HashMap looks = new java.util.HashMap();
looks.put("JGoodies", "com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
looks.put("3D_LookAndFeel", "swing.addon.plaf.threeD.ThreeDLookAndFeel");
looks.put("Windows", "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
looks.put("Metal", "javax.swing.plaf.metal.MetalLookAndFeel");
looks.put("Motif", "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
looks.put("Kunststoff", "com.incors.plaf.kunststoff.KunststoffLookAndFeel");
String lookAndFeel = (String) looks.get(look);
try {
UIManager.setLookAndFeel(lookAndFeel);
} catch (Exception ex) {ex.printStackTrace();
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
}
}
private void jbInit() throws Exception {
}
}
////////////-----------4ta clase ------------------//
package velox;
/**
*
Title: Velox
*
Description: Buscador ultra Rapido
*
Copyright: Copyright (c) 2005
*
Company: Douglas & Douglas
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent.*;
import javax.swing.*;
import java.io.File;
import java.io.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.util.HashMap;
/**
*
Title: Buscador
*
Description: Buscador Ultra rapido parecido a diferencia del de Windows
*
Copyright: Copyright (c) 2005
*
Company: DumboSoft
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
public class MainFrame extends JFrame implements Runnable{
private volatile Thread timer;
int cantidad = 0;
String line;
HashMap idioma = new HashMap();
// Cola para la busqueda por niveles
Cola cola = new Cola();
Object[] header = new Object[1];
JPanel contentPane;
JLabel statusBar = new JLabel();
BorderLayout borderLayout1 = new BorderLayout();
JToolBar jToolBar1 = new JToolBar();
JPanel jPanel1 = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
JSplitPane jSplitPane1 = new JSplitPane();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
BorderLayout borderLayout3 = new BorderLayout();
Component component1;
JPanel jPanel4 = new JPanel();
JLabel jLabel1 = new JLabel();
JCheckBox jCheckBoxBuscarPalabraEnArchivo = new JCheckBox();
JLabel jLabel2 = new JLabel();
JTextField JTextFieldPalabra = new JTextField();
JTextField jTextFieldArchivo = new JTextField();
BorderLayout borderLayout4 = new BorderLayout();
JPanel jPanel5 = new JPanel();
GridLayout gridLayout1 = new GridLayout();
BorderLayout borderLayout5 = new BorderLayout();
Component component2;
JSplitPane jSplitPane2 = new JSplitPane();
JEditorPane jEditorPane2 = new JEditorPane();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JPanel jPanel6 = new JPanel();
JButton buscar = new JButton();
JButton detener = new JButton();
FlowLayout flowLayout1 = new FlowLayout();
JPanel jPanel7 = new JPanel();
JComboBox JTextFieldPath = new JComboBox();
BorderLayout borderLayout6 = new BorderLayout();
JButton botonDir = new JButton();
JLabel jLabel3 = new JLabel();
JPanel jPanel8 = new JPanel();
JPanel jPanel9 = new JPanel();
private static boolean seguir = true;
BorderLayout borderLayout7 = new BorderLayout();
JPanel jPanel10 = new JPanel();
JLabel l1 = new JLabel();
GridLayout gridLayout2 = new GridLayout();
JLabel l3 = new JLabel();
JLabel l2 = new JLabel();
JLabel l4 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable();
JPanel jPanel11 = new JPanel();
BorderLayout borderLayout8 = new BorderLayout();
JPanel jPanel12 = new JPanel();
JSlider jSlider1 = new JSlider();
JSlider jSlider2 = new JSlider();
JSlider jSlider3 = new JSlider();
JMenu jMenu2 = new JMenu();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem2 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem5 = new JMenuItem();
JMenuItem jMenuItem6 = new JMenuItem();
JMenuItem jMenuItem7 = new JMenuItem();
JMenuItem jMenuItem8 = new JMenuItem();
JMenuItem jMenuItem9 = new JMenuItem();
JMenu jMenu4 = new JMenu();
JMenuItem jMenuItem4 = new JMenuItem();
JMenuItem jMenuItem10 = new JMenuItem();
JMenuItem jMenuItem11 = new JMenuItem();
String cando = "";
String cant = "";
String de = "";
String arc = "";
JCheckBox jCheckBoxBuscarPorNiveles = new JCheckBox();
JCheckBox jCheckBoxBusquedaProfunda = new JCheckBox();
JFileChooser fc = new JFileChooser();
//Construct the frame
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
HashMap config = this.configuracionDeSistema();
String language = config.get("Idioma").toString();
idioma = this.configuracionDeIdioma(language);
//header[0] = idioma.get("Nombre").toString();
JTextFieldPath.addItem("C:/");
header[0] = idioma.get("Direccion").toString();
contentPane = (JPanel) this.getContentPane();
component1 = Box.createHorizontalStrut(8);
component2 = Box.createHorizontalStrut(8);
contentPane.setLayout(borderLayout1);
this.setJMenuBar(jMenuBar1);
this.setSize(new Dimension(880, 542));
this.setTitle("Velox Beta V1.0");
this.addComponentListener(new MainFrame_this_componentAdapter(this));
statusBar.setFont(new java.awt.Font("Tahoma", 1, 11));
statusBar.setPreferredSize(new Dimension(3, 23));
statusBar.setText(" ");
jPanel1.setLayout(borderLayout2);
jPanel2.setPreferredSize(new Dimension(250, 10));
jPanel2.setLayout(borderLayout3);
borderLayout1.setHgap(5);
borderLayout1.setVgap(5);
jPanel4.setBackground(Color.orange);
jPanel4.setMinimumSize(new Dimension(80, 185));
jPanel4.setPreferredSize(new Dimension(250, 187));
jPanel4.setLayout(borderLayout4);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel1.setRequestFocusEnabled(true);
jLabel1.setToolTipText("");
String busca = idioma.get("Buscar").toString();
String archi = idioma.get("archivos").toString();
String o = idioma.get("o").toString();
String pastas = idioma.get("carpetas").toString();
jLabel1.setText(busca+" "+archi+" "+o+" "+pastas);
jCheckBoxBuscarPalabraEnArchivo.setBackground(Color.orange);
jCheckBoxBuscarPalabraEnArchivo.setFont(new java.awt.Font("Tahoma", 1, 12));
String la = idioma.get("la").toString();
String sgt = idioma.get("Sgte.").toString();
String palabra = idioma.get("palabra").toString();
String en = idioma.get("en").toString();
jCheckBoxBuscarPalabraEnArchivo.setActionCommand(busca+" "+ la +" "+ sgt +" "+ palabra +" "+ en +" "+ archi );
jCheckBoxBuscarPalabraEnArchivo.setText(busca+" "+ la +" "+ sgt +" "+ palabra +" "+ en +" "+ archi);
jCheckBoxBuscarPalabraEnArchivo.addKeyListener(new MainFrame_jCheckBoxBuscarPalabraEnArchivo_keyAdapter(this));
jCheckBoxBuscarPalabraEnArchivo.addItemListener(new MainFrame_jCheckBoxBuscarPalabraEnArchivo_itemAdapter(this));
jLabel2.setText(busca +" "+ en +":");
jLabel2.setToolTipText("");
jLabel2.setRequestFocusEnabled(true);
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12));
JTextFieldPalabra.setEnabled(false);
JTextFieldPalabra.setFont(new java.awt.Font("Dialog", 1, 12));
JTextFieldPalabra.setText("");
JTextFieldPalabra.addKeyListener(new MainFrame_JTextFieldPalabra_keyAdapter(this));
jTextFieldArchivo.setFont(new java.awt.Font("Dialog", 1, 12));
jTextFieldArchivo.addKeyListener(new MainFrame_jTextFieldArchivo_keyAdapter(this));
jPanel3.setLayout(borderLayout5);
jPanel5.setBackground(Color.orange);
jPanel5.setMinimumSize(new Dimension(238, 272));
jPanel5.setPreferredSize(new Dimension(10, 250));
jPanel5.setLayout(gridLayout1);
gridLayout1.setColumns(1);
gridLayout1.setHgap(5);
gridLayout1.setRows(9);
gridLayout1.setVgap(5);
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
jEditorPane2.setText("");
jEditorPane2.setEditable(false);
jEditorPane2.setFont(new java.awt.Font("Dialog", 1, 12));
jEditorPane2.setBackground(UIManager.getColor("info"));
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
jPanel3.setMinimumSize(new Dimension(80, 54));
jPanel3.setPreferredSize(new Dimension(300, 431));
String archiv = idioma.get("Archivo").toString() ;
jMenu1.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu1.setText(archiv);
String sal = idioma.get("Salir").toString() ;
jMenuItem1.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem1.setText( sal );
jMenuItem1.addActionListener(new MainFrame_jMenuItem1_actionAdapter(this));
buscar.setFont(new java.awt.Font("Tahoma", 1, 11));
buscar.setPreferredSize(new Dimension(88, 22));
buscar.setText(busca);
buscar.addActionListener(new MainFrame_buscar_actionAdapter(this));
detener.setFont(new java.awt.Font("Tahoma", 1, 11));
detener.setPreferredSize(new Dimension(85, 22));
String det = idioma.get("Detener").toString() ;
detener.setText( det );
detener.addActionListener(new MainFrame_detener_actionAdapter(this));
jPanel6.setBackground(Color.orange);
jPanel6.setFont(new java.awt.Font("Dialog", 1, 12));
jPanel6.setMinimumSize(new Dimension(156, 35));
jPanel6.setPreferredSize(new Dimension(165, 40));
jPanel6.setLayout(flowLayout1);
flowLayout1.setAlignment(FlowLayout.LEFT);
flowLayout1.setHgap(5);
flowLayout1.setVgap(0);
borderLayout4.setHgap(5);
borderLayout4.setVgap(5);
JTextFieldPath.setFont(new java.awt.Font("Dialog", 1, 12));
JTextFieldPath.addKeyListener(new MainFrame_JTextFieldPath_keyAdapter(this));
jPanel7.setLayout(borderLayout6);
botonDir.setFont(new java.awt.Font("Tahoma", 1, 18));
botonDir.setPreferredSize(new Dimension(50, 20));
botonDir.setText("....");
botonDir.addActionListener(new MainFrame_botonDir_actionAdapter(this));
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel3.setBorder(BorderFactory.createEtchedBorder());
jLabel3.setMaximumSize(new Dimension(48, 25));
jLabel3.setMinimumSize(new Dimension(48, 25));
jLabel3.setPreferredSize(new Dimension(200, 25));
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
jLabel3.setText("Velox Beta V1.0 ");
jPanel9.setLayout(borderLayout7);
l1.setFont(new java.awt.Font("Tahoma", 1, 12));
l1.setPreferredSize(new Dimension(34, 100));
l1.setText("");
jPanel10.setLayout(gridLayout2);
gridLayout2.setColumns(1);
gridLayout2.setRows(5);
l3.setFont(new java.awt.Font("Tahoma", 1, 12));
l3.setText("");
jPanel10.setBackground(new Color(252, 246, 218));
jPanel10.setPreferredSize(new Dimension(34, 150));
statusBar.setFont(new java.awt.Font("Tahoma", 1, 12));
statusBar.setText("");
l4.setBackground(Color.lightGray);
l4.setFont(new java.awt.Font("Tahoma", 1, 12));
l4.setAlignmentY((float) 0.5);
jTable1.setBackground(new Color(252, 246, 218));
jTable1.setFont(new java.awt.Font("Dialog", 1, 12));
jTable1.setToolTipText("Click para abrir este archivo o carpeta");
jTable1.setRowHeight(20);
jTable1.setShowVerticalLines(false);
jTable1.addMouseListener(new MainFrame_jTable1_mouseAdapter(this));
jPanel11.setLayout(borderLayout8);
jPanel11.setPreferredSize(new Dimension(85, 45));
jSlider1.setPreferredSize(new Dimension(85, 20));
jSlider1.addChangeListener(new MainFrame_jSlider1_changeAdapter(this));
jSlider2.setMaximum(255);
jSlider2.setPreferredSize(new Dimension(85, 20));
jSlider2.addChangeListener(new MainFrame_jSlider2_changeAdapter(this));
jSlider3.setMaximum(255);
jSlider3.setPreferredSize(new Dimension(85, 20));
jSlider3.addChangeListener(new MainFrame_jSlider3_changeAdapter(this));
jPanel12.setPreferredSize(new Dimension(320, 35));
String apa = idioma.get("Apariencia").toString() ;
jMenu2.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu2.setText(apa);
String ayu = idioma.get("Ayuda").toString() ;
jMenu3.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu3.setText(ayu);
String cre = idioma.get("Creditos").toString();
jMenuItem2.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem2.setText(cre);
jMenuItem2.addActionListener(new MainFrame_jMenuItem2_actionAdapter(this));
jMenuItem3.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem3.setText("Windows");
jMenuItem3.addActionListener(new MainFrame_jMenuItem3_actionAdapter(this));
jMenuItem5.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem5.setText("JGoodies");
jMenuItem5.addActionListener(new MainFrame_jMenuItem5_actionAdapter(this));
jMenuItem6.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem6.setText("Kunststoff");
jMenuItem6.addActionListener(new MainFrame_jMenuItem6_actionAdapter(this));
jMenuItem7.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem7.setText("3D_LookAndFeel");
jMenuItem7.addActionListener(new MainFrame_jMenuItem7_actionAdapter(this));
jMenuItem8.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem8.setText("Metal");
jMenuItem8.addActionListener(new MainFrame_jMenuItem8_actionAdapter(this));
jMenuItem9.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem9.setText("Motif");
jMenuItem9.addActionListener(new MainFrame_jMenuItem9_actionAdapter(this));
String idi = idioma.get("Idioma").toString();
jMenu4.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu4.setText(idi);
jMenuItem4.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem4.setText("Español");
jMenuItem4.addActionListener(new MainFrame_jMenuItem4_actionAdapter(this));
jMenuItem11.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem11.setText("Inglés");
jMenuItem11.addActionListener(new MainFrame_jMenuItem11_actionAdapter(this));
jMenuItem10.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem10.setText("Portugués");
jMenuItem10.addActionListener(new MainFrame_jMenuItem10_actionAdapter(this));
jCheckBoxBuscarPorNiveles.setBackground(Color.orange);
jCheckBoxBuscarPorNiveles.setFont(new java.awt.Font("Tahoma", 1, 11));
jCheckBoxBuscarPorNiveles.setSelected(true);
jCheckBoxBuscarPorNiveles.setText("Realizar busqueda por niveles");
jCheckBoxBuscarPorNiveles.addItemListener(new MainFrame_jCheckBoxBuscarPorNiveles_itemAdapter(this));
jCheckBoxBusquedaProfunda.setBackground(Color.orange);
jCheckBoxBusquedaProfunda.setFont(new java.awt.Font("Tahoma", 1, 11));
jCheckBoxBusquedaProfunda.setText("Realizar busqueda por profundidad");
jCheckBoxBusquedaProfunda.addItemListener(new MainFrame_jCheckBoxBusquedaProfunda_itemAdapter(this));
l2.setFont(new java.awt.Font("Tahoma", 1, 12));
contentPane.add(statusBar, BorderLayout.SOUTH);
contentPane.add(jToolBar1, BorderLayout.NORTH);
jToolBar1.add(jPanel8, null);
jPanel8.add(jLabel3, null);
contentPane.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jSplitPane1, BorderLayout.CENTER);
jSplitPane1.add(jPanel2, JSplitPane.LEFT);
jPanel2.add(component1, BorderLayout.WEST);
jPanel2.add(jPanel4, BorderLayout.CENTER);
jPanel4.add(jPanel5, BorderLayout.NORTH);
jPanel5.add(jLabel1, null);
jPanel5.add(jTextFieldArchivo, null);
jPanel5.add(jCheckBoxBuscarPalabraEnArchivo, null);
jPanel5.add(JTextFieldPalabra, null);
jPanel5.add(jLabel2, null);
jPanel5.add(jPanel7, null);
jPanel7.add(JTextFieldPath, BorderLayout.CENTER);
jPanel7.add(botonDir, BorderLayout.EAST);
jPanel5.add(jCheckBoxBuscarPorNiveles, null);
jPanel5.add(jCheckBoxBusquedaProfunda, null);
jPanel5.add(jPanel6, null);
jPanel6.add(buscar, null);
jPanel6.add(detener, null);
jSplitPane1.add(jPanel3, JSplitPane.RIGHT);
jPanel3.add(component2, BorderLayout.EAST);
jPanel3.add(jSplitPane2, BorderLayout.CENTER);
jSplitPane2.add(jScrollPane1, JSplitPane.BOTTOM);
jSplitPane2.add(jPanel11, JSplitPane.TOP);
jPanel11.add(jPanel12, BorderLayout.WEST);
jPanel12.add(jSlider1, null);
jPanel12.add(jSlider2, null);
jPanel12.add(jSlider3, null);
jScrollPane1.getViewport().add(jTable1, null);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu4);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jPanel4.add(jPanel9, BorderLayout.CENTER);
jPanel9.add(jPanel10, BorderLayout.NORTH);
jPanel10.add(l1, null);
jPanel10.add(l2, null);
jPanel10.add(l3, null);
jPanel10.add(l4, null);
jMenu3.add(jMenuItem2);
jMenu2.add(jMenuItem3);
jMenu2.add(jMenuItem5);
jMenu2.add(jMenuItem6);
jMenu2.add(jMenuItem7);
jMenu2.add(jMenuItem8);
jMenu2.add(jMenuItem9);
jMenu4.add(jMenuItem4);
jMenu4.add(jMenuItem10);
jMenu4.add(jMenuItem11);
jSplitPane1.setAutoscrolls(true);
jSlider1.setMaximum(255);
jSlider2.setMaximum(255);
jSlider3.setMaximum(255);
jSlider1.setValue(252);
jSlider2.setValue(246);
jSlider3.setValue(218);
cando = idioma.get("Buscando...").toString();
cant = idioma.get("Cantidad").toString();
de = idioma.get("de").toString();
arc = idioma.get("archivos").toString();
JTextFieldPath.setEditable(true);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public void start(){
try{
Thread timer = new Thread(this);
timer.start();
}catch(Throwable e){
e.printStackTrace();
}
}
public void stop(){
timer = null;
}
public void run(){
try{
String path = JTextFieldPath.getSelectedItem().toString();
if(jCheckBoxBuscarPorNiveles.isSelected()){
if (!jCheckBoxBuscarPalabraEnArchivo.isSelected()) {
seguir = true;
String archivo = jTextFieldArchivo.getText().trim();
buscarPorNiveles(path, archivo);
}else{
String palabra = JTextFieldPalabra.getText().trim();
buscarPalabraPorNiveles(path,palabra);
}
}else{ // Si la busquedad no es por niveles
seguir = true;
if (jCheckBoxBuscarPalabraEnArchivo.isSelected()) {
String palabra = JTextFieldPalabra.getText().trim();
buscarPalabra(path, palabra);
} else {
String archivo = jTextFieldArchivo.getText().trim();
buscar(path, archivo);
}
}
}catch(Throwable ex){
ex.printStackTrace();
}
}
void buscar_actionPerformed(ActionEvent e) {
try{
start();
cantidad = 0;
this.limpiarTabla();
l3.setText("");
}catch(Exception ex){
Toolkit.getDefaultToolkit().beep();
ex.printStackTrace();
}
}
void botonDir_actionPerformed(ActionEvent e) {
try{
fc.setFileSelectionMode(1);
fc.showOpenDialog(this);
File f = fc.getSelectedFile ();
JTextFieldPath.addItem(f.toString());
JTextFieldPath.setSelectedItem(f.toString());
}catch(Exception ex){
}
}
public void limpiarTabla(){
Object[][] dat = new Object[0][1];
TableModel tableModel = new DefaultTableModel(dat, header);
jTable1.setModel(tableModel);
jTable1.getTableHeader().setFont(new java.awt.Font("Tahoma", 1, 13));
// String name = jTable1.getColumnName(0);
String dire = jTable1.getColumnName(0);
// jTable1.getColumn(name).setPreferredWidth(50);
jTable1.getColumn(dire).setPreferredWidth(200);
}
public void modelar(String dir){
try{
int tam = jTable1.getRowCount() ;
Object[][] dat = new Object[tam + 1 ][1];
for (int i = 0; i < tam; i++) {
dat[i][0] = jTable1.getValueAt(i, 0);
// dat[i][1] = jTable1.getValueAt(i, 1);
}
dat[tam][0] = dir;
// dat[tam][1] = dir;
TableModel tableModel = new DefaultTableModel(dat, header);
jTable1.setModel(tableModel);
jTable1.getTableHeader().setFont(new java.awt.Font("Tahoma", 1, 13));
// String name = jTable1.getColumnName(0);
String dire = jTable1.getColumnName(0);
// jTable1.getColumn(name).setPreferredWidth(50);
jTable1.getColumn(dire).setPreferredWidth(200);
}catch(Exception e){
// e.printStackTrace();
}
}
void detener_actionPerformed(ActionEvent e) {
seguir = false;
stop();
String bus = idioma.get("Busqueda").toString();
String dete = idioma.get("detenida").toString();
l1.setText( bus+" "+ dete);
if(jCheckBoxBuscarPorNiveles.isSelected()){
l3.setText(
" Fin de la busqueda por niveles....... ");
}
cantidad = 0;
}
void jCheckBoxBuscarPalabraEnArchivo_itemStateChanged(ItemEvent e) {
if(jCheckBoxBuscarPalabraEnArchivo.isSelected()){
JTextFieldPalabra.setEnabled(true);
jTextFieldArchivo.setEnabled(false);
}else{
JTextFieldPalabra.setEnabled(false);
jTextFieldArchivo.setEnabled(true);
}
}
public void buscar(String urlO, String palabra ) {
try{
String separador = File.separator;
String origen = urlO;
File fo = new File(origen);
File[] archivos = fo.listFiles();
cantidad+= archivos.length;
l1.setText(cando);
l3.setText(" "+cant+" "+ de +" "+ arc +" "+cantidad);
String[] noms;
try {
noms = fo.list();
} catch (NullPointerException e) {
noms = new String[0];
}
for (int i = 0; i < noms.length; i++) {
File archivo = archivos[i];
if (archivo.isDirectory()) { // _Carpeta
String temp = noms[i];
statusBar.setText(archivo.toString());
if (archivo.toString().indexOf( palabra ) != -1){
modelar(archivo.toString());
}
if(seguir){
buscar(origen + separador + temp, palabra); // Metodo recursivo
}else{
break;
}
} else {
String temp = origen + separador + noms[i];
statusBar.setText(temp);
if (temp.indexOf( palabra ) != -1){
modelar(temp);
}
}
}
}catch(Exception e){
// e.printStackTrace();
detener.doClick();
}
}
public void buscarPalabra(String urlO, String palabraEnArchivo ) {
try{
String separador = File.separator;
String origen = urlO;
File fo = new File(origen);
File[] archivos = fo.listFiles();
l1.setText(" "+cando);
statusBar.setText(cant+" "+ de +" "+ arc +" "+cantidad);
String[] noms;
try {
noms = fo.list();
} catch (NullPointerException e) {
noms = new String[0];
}
for (int i = 0; i < noms.length; i++) {
File archivo = archivos[i];
if (archivo.isDirectory()) {
String a = noms[i];
if(seguir){
buscarPalabra(origen + separador + a, palabraEnArchivo ); // Metodo recursivo
}else{
break;
}
} else {
String temp = origen + separador + noms[i];
try{
grep(new java.io.FileReader(temp), temp, palabraEnArchivo);
}catch(Exception e){
// System.out.println("Error en el Greep no puede leer el archivo... "+ e.toString());
}
}
}
}catch(Exception e){
// e.printStackTrace();
detener.doClick();
}
}
// -------------------------Todo por niveles hacia abajo---------------------//
public void buscarPorNiveles(String urlO, String archivo ) {
int nivel = 0;
int tamCola = 0;
try{
cola.vaciarCola();
String origen = urlO;
// System.out.println("Empezando busqueda en " + urlO);
File fo = new File(origen);
File[] archivos = fo.listFiles();
l1.setText(" Buscando en "+ urlO);
for(int i = 0;i < archivos.length;i++ ){ //agrego a la cola
cola.agregar(archivos[i]); tamCola++;
}
while(!cola.vacia()){ // Mientras la cola no este vacia
if(!seguir){
break;
}
File file = (File) cola.sacar();
tamCola--;
if(tamCola == 0){
nivel++;
tamCola = cola.tamano();
}
l2.setText(" Buscando en el Nivel "+nivel);
statusBar.setText(" Buscando "+ archivo +" en "+file.getPath());
if (file.toString().indexOf( archivo ) != -1){
modelar(file.getPath());
//System.out.println("Archivo en contrado en :" + file.toString());
}
try{
File[] hijos = file.listFiles();
for (int i = 0; i < hijos.length; i++) { //agrego a la cola
cola.agregar(hijos[i]);
}
}catch(Exception e){
// System.out.println("No tiene hijos " );
}
}
if(jCheckBoxBuscarPorNiveles.isSelected()){
l3.setText(" Fin de la busqueda por niveles....... ");
}
}catch(Exception e){
//e.printStackTrace();
}
}
public void buscarPalabraPorNiveles(String urlO, String palabraEnArchivo ) {
int nivel = 0;
int tamCola = 0;
try{
cola.vaciarCola();
String origen = urlO;
File fo = new File(origen);
File[] archivos = fo.listFiles();
l1.setText(" Buscando en "+ urlO);
for(int i = 0;i < archivos.length;i++ ){ //agrego a la cola
cola.agregar(archivos[i]); tamCola++;
}
while(!cola.vacia()){ // Mientras la cola no este vacia
if(!seguir){
break;
}
File file = (File) cola.sacar();
tamCola--;
if(tamCola == 0){
nivel++;
tamCola = cola.tamano();
}
l2.setText(" Buscando en el Nivel "+nivel);
statusBar.setText(" Buscando "+ palabraEnArchivo +" en "+file.getPath());
// System.out.println("file.toString() "+file.toString());
try{
grep(new java.io.FileReader(file), file.getPath(), palabraEnArchivo); // El se encarga de modelar si encuentra la palabra
}catch(Exception e){
// System.out.println("Error en el grep no puede leer el archivo... "+ e.toString());
}
try{
File[] hijos = file.listFiles();
for (int i = 0; i < hijos.length; i++) { //agrego a la cola
cola.agregar(hijos[i]);// System.out.println("Agregando hijos " );
}
}catch(Exception e){
// System.out.println("No tiene hijos " );
}
}
if(jCheckBoxBuscarPorNiveles.isSelected()){
l3.setText(" Fin de la busqueda por niveles....... ");
stop();
seguir= true;
}
}catch(Exception e){
// System.out.println("Error en 719 "+ e.toString() );
e.printStackTrace();
}
}
public void grep (Reader reader, String dir ,String palabraEnArchivo) {
try{
BufferedReader in = new BufferedReader(reader);
String cando = idioma.get("Buscando").toString();
String en = idioma.get("en").toString();
statusBar.setText(cando+" "+ palabraEnArchivo + " "+ en +": "+ dir);
while ( (line = in.readLine()) != null) { // read line
l3.setText(" "+line);
if(seguir){
if (line.indexOf(palabraEnArchivo) != -1) { // contains text?
this.modelar(dir);
}
}else{
break;
}
}
}catch(Exception ex){
detener.doClick();
}
}
public void cambiarLook(String look){
java.util.HashMap looks = new java.util.HashMap();
looks.put("JGoodies" , "com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
looks.put("3D_LookAndFeel", "swing.addon.plaf.threeD.ThreeDLookAndFeel");
looks.put("Windows" , "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
looks.put("Metal" , "javax.swing.plaf.metal.MetalLookAndFeel");
looks.put("Motif" , "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
looks.put("Kunststoff" , "com.incors.plaf.kunststoff.KunststoffLookAndFeel");
String lookAndFeel =(String) looks.get(look);
try{
UIManager.setLookAndFeel(lookAndFeel);
SwingUtilities.updateComponentTreeUI( this );
}catch(Exception ex){
}
}
//Este metodo lee la configuracion del sistema
public static HashMap configuracionDeSistema() throws NullPointerException {
HashMap hm = new HashMap();
try{
File file = new File("Archivos/Configuracion.dat");
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
hm = (HashMap) ois.readObject();
ois.close();
return hm;
}catch(Exception e){
return null;
}
}
//Este metodo Escribe una modificacion que se ha hecho en el sistema
public static void escribirConfiguracionDeSistema(HashMap config){
try{
File file = new File("Archivos/Configuracion.dat");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(config);
oos.close();
oos.flush(); // System.out.println("Configuracion escrita...");
}catch(Exception e){
//System.out.println("Error al escribir configuracion...");
}
}
// Este metodo lee la configuracion del idioma
public static HashMap configuracionDeIdioma(String idioma){
HashMap hm = new HashMap();
try{
File file = new File("Archivos/Idiomas/"+ idioma );
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
hm = (HashMap) ois.readObject();
ois.close();
return hm;
}catch(Exception e){
return hm;
}
}
void jSlider1_stateChanged(ChangeEvent e) {
int val = jSlider1.getValue();
jTable1.setBackground(new Color(val, 246, 218));
}
void jSlider2_stateChanged(ChangeEvent e) {
int val = jSlider2.getValue();
jTable1.setBackground(new Color(252, val, 218));
}
void jSlider3_stateChanged(ChangeEvent e) {
int val = jSlider3.getValue();
jTable1.setBackground(new Color(252, 246, val));
}
private void enter(KeyEvent e, JComponent jC){
if( e.getKeyCode() == KeyEvent.VK_ENTER ){
jC.grabFocus();
}
}
void this_componentShown(ComponentEvent e) {
jTextFieldArchivo.grabFocus();
}
void jTextFieldArchivo_keyReleased(KeyEvent e) {
enter(e, jCheckBoxBuscarPalabraEnArchivo);
}
void jCheckBoxBuscarPalabraEnArchivo_keyReleased(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_ENTER ){
jCheckBoxBuscarPalabraEnArchivo.doClick();
}
}
void JTextFieldPalabra_keyReleased(KeyEvent e) {
enter(e,JTextFieldPath);
}
void JTextFieldPath_keyReleased(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_ENTER ){
buscar.doClick();
}
}
void jMenuItem3_actionPerformed(ActionEvent e) {
this.cambiarLook("Windows");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Windows");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem5_actionPerformed(ActionEvent e) {
this.cambiarLook("JGoodies");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","JGoodies");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem6_actionPerformed(ActionEvent e) {
this.cambiarLook("Kunststoff");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Kunststoff");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem7_actionPerformed(ActionEvent e) {
this.cambiarLook("3D_LookAndFeel");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","3D_LookAndFeel");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem8_actionPerformed(ActionEvent e) {
this.cambiarLook("Metal");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Metal");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem9_actionPerformed(ActionEvent e) {
this.cambiarLook("Motif");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Motif");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem1_actionPerformed(ActionEvent e) {
System.exit(0);
}
void jMenuItem4_actionPerformed(ActionEvent e) {
HashMap hm = this.configuracionDeSistema();
hm.put("Idioma","Espanhol.dat");
this.escribirConfiguracionDeSistema(hm);
try{
this.jbInit();
}catch(Exception ex){}
}
void jMenuItem10_actionPerformed(ActionEvent e) {
HashMap hm = this.configuracionDeSistema();
hm.put("Idioma","Portugues.dat");
this.escribirConfiguracionDeSistema(hm);
try{
this.jbInit();
}catch(Exception ex){}
}
void jMenuItem11_actionPerformed(ActionEvent e) {
HashMap hm = this.configuracionDeSistema();
hm.put("Idioma","Ingles.dat");
this.escribirConfiguracionDeSistema(hm);
try{
this.jbInit();
}catch(Exception ex){}
}
void jMenuItem2_actionPerformed(ActionEvent e) {
Credito c = new Credito();
c.setSize(500,350);
c.setLocation(this.getLocation());
c.setVisible(true);
}
void jCheckBoxBuscarPorNiveles_itemStateChanged(ItemEvent e) {
if(jCheckBoxBuscarPorNiveles.isSelected()){
jCheckBoxBusquedaProfunda.setSelected(false);
}else{
jCheckBoxBusquedaProfunda.setSelected(true);
}
}
void jCheckBoxBusquedaProfunda_itemStateChanged(ItemEvent e) {
if(jCheckBoxBusquedaProfunda.isSelected()){
jCheckBoxBuscarPorNiveles.setSelected(false);
}else{
jCheckBoxBuscarPorNiveles.setSelected(true);
}
}
void jTable1_mouseClicked(MouseEvent e) {
int fila = jTable1.getSelectedRow();
String dir = jTable1.getValueAt(fila,0).toString();
System.out.println(dir);
Process p = null;
Runtime r = Runtime.getRuntime();
try {
String path = ""+dir+"";
String cad = "\"C:/WINDOWS/explorer.exe\" "+ path +" ";
p = r.exec(cad);
// p.destroy();
} catch( Exception ex) {
ex.printStackTrace();
}
}
}
class MainFrame_buscar_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_buscar_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.buscar_actionPerformed(e);
}
}
class MainFrame_botonDir_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_botonDir_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.botonDir_actionPerformed(e);
}
}
class MainFrame_detener_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_detener_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.detener_actionPerformed(e);
}
}
class MainFrame_jCheckBoxBuscarPalabraEnArchivo_itemAdapter implements java.awt.event.ItemListener {
MainFrame adaptee;
MainFrame_jCheckBoxBuscarPalabraEnArchivo_itemAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jCheckBoxBuscarPalabraEnArchivo_itemStateChanged(e);
}
}
class MainFrame_jSlider1_changeAdapter implements javax.swing.event.ChangeListener {
MainFrame adaptee;
MainFrame_jSlider1_changeAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void stateChanged(ChangeEvent e) {
adaptee.jSlider1_stateChanged(e);
}
}
class MainFrame_jSlider2_changeAdapter implements javax.swing.event.ChangeListener {
MainFrame adaptee;
MainFrame_jSlider2_changeAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void stateChanged(ChangeEvent e) {
adaptee.jSlider2_stateChanged(e);
}
}
class MainFrame_jSlider3_changeAdapter implements javax.swing.event.ChangeListener {
MainFrame adaptee;
MainFrame_jSlider3_changeAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void stateChanged(ChangeEvent e) {
adaptee.jSlider3_stateChanged(e);
}
}
class MainFrame_this_componentAdapter extends java.awt.event.ComponentAdapter {
MainFrame adaptee;
MainFrame_this_componentAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void componentShown(ComponentEvent e) {
adaptee.this_componentShown(e);
}
}
class MainFrame_jTextFieldArchivo_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_jTextFieldArchivo_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.jTextFieldArchivo_keyReleased(e);
}
}
class MainFrame_jCheckBoxBuscarPalabraEnArchivo_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_jCheckBoxBuscarPalabraEnArchivo_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.jCheckBoxBuscarPalabraEnArchivo_keyReleased(e);
}
}
class MainFrame_JTextFieldPalabra_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_JTextFieldPalabra_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.JTextFieldPalabra_keyReleased(e);
}
}
class MainFrame_JTextFieldPath_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_JTextFieldPath_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.JTextFieldPath_keyReleased(e);
}
}
class MainFrame_jMenuItem3_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem3_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem3_actionPerformed(e);
}
}
class MainFrame_jMenuItem5_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem5_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem5_actionPerformed(e);
}
}
class MainFrame_jMenuItem6_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem6_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem6_actionPerformed(e);
}
}
class MainFrame_jMenuItem7_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem7_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem7_actionPerformed(e);
}
}
class MainFrame_jMenuItem8_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem8_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem8_actionPerformed(e);
}
}
class MainFrame_jMenuItem9_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem9_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem9_actionPerformed(e);
}
}
class MainFrame_jMenuItem1_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem1_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem1_actionPerformed(e);
}
}
class MainFrame_jMenuItem4_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem4_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem4_actionPerformed(e);
}
}
class MainFrame_jMenuItem10_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem10_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem10_actionPerformed(e);
}
}
class MainFrame_jMenuItem11_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem11_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem11_actionPerformed(e);
}
}
class MainFrame_jMenuItem2_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem2_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class MainFrame_jCheckBoxBuscarPorNiveles_itemAdapter implements java.awt.event.ItemListener {
MainFrame adaptee;
MainFrame_jCheckBoxBuscarPorNiveles_itemAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jCheckBoxBuscarPorNiveles_itemStateChanged(e);
}
}
class MainFrame_jCheckBoxBusquedaProfunda_itemAdapter implements java.awt.event.ItemListener {
MainFrame adaptee;
MainFrame_jCheckBoxBusquedaProfunda_itemAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jCheckBoxBusquedaProfunda_itemStateChanged(e);
}
}
class MainFrame_jTable1_mouseAdapter extends java.awt.event.MouseAdapter {
MainFrame adaptee;
MainFrame_jTable1_mouseAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jTable1_mouseClicked(e);
}
}
///// ---- opcional --- creditos ///
package velox;
/**
*
Title: Velox
*
Description: Buscador ultra Rapido
*
Copyright: Copyright (c) 2005
*
Company: Douglas & Douglas
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent.*;
import javax.swing.*;
import java.io.File;
import java.io.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.util.HashMap;
/**
*
Title: Buscador
*
Description: Buscador Ultra rapido parecido a diferencia del de Windows
*
Copyright: Copyright (c) 2005
*
Company: DumboSoft
* @author Douglas A. Dembogurski Feix
* @version 1.0
*/
public class MainFrame extends JFrame implements Runnable{
private volatile Thread timer;
int cantidad = 0;
String line;
HashMap idioma = new HashMap();
// Cola para la busqueda por niveles
Cola cola = new Cola();
Object[] header = new Object[1];
JPanel contentPane;
JLabel statusBar = new JLabel();
BorderLayout borderLayout1 = new BorderLayout();
JToolBar jToolBar1 = new JToolBar();
JPanel jPanel1 = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
JSplitPane jSplitPane1 = new JSplitPane();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
BorderLayout borderLayout3 = new BorderLayout();
Component component1;
JPanel jPanel4 = new JPanel();
JLabel jLabel1 = new JLabel();
JCheckBox jCheckBoxBuscarPalabraEnArchivo = new JCheckBox();
JLabel jLabel2 = new JLabel();
JTextField JTextFieldPalabra = new JTextField();
JTextField jTextFieldArchivo = new JTextField();
BorderLayout borderLayout4 = new BorderLayout();
JPanel jPanel5 = new JPanel();
GridLayout gridLayout1 = new GridLayout();
BorderLayout borderLayout5 = new BorderLayout();
Component component2;
JSplitPane jSplitPane2 = new JSplitPane();
JEditorPane jEditorPane2 = new JEditorPane();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JPanel jPanel6 = new JPanel();
JButton buscar = new JButton();
JButton detener = new JButton();
FlowLayout flowLayout1 = new FlowLayout();
JPanel jPanel7 = new JPanel();
JComboBox JTextFieldPath = new JComboBox();
BorderLayout borderLayout6 = new BorderLayout();
JButton botonDir = new JButton();
JLabel jLabel3 = new JLabel();
JPanel jPanel8 = new JPanel();
JPanel jPanel9 = new JPanel();
private static boolean seguir = true;
BorderLayout borderLayout7 = new BorderLayout();
JPanel jPanel10 = new JPanel();
JLabel l1 = new JLabel();
GridLayout gridLayout2 = new GridLayout();
JLabel l3 = new JLabel();
JLabel l2 = new JLabel();
JLabel l4 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable();
JPanel jPanel11 = new JPanel();
BorderLayout borderLayout8 = new BorderLayout();
JPanel jPanel12 = new JPanel();
JSlider jSlider1 = new JSlider();
JSlider jSlider2 = new JSlider();
JSlider jSlider3 = new JSlider();
JMenu jMenu2 = new JMenu();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem2 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem5 = new JMenuItem();
JMenuItem jMenuItem6 = new JMenuItem();
JMenuItem jMenuItem7 = new JMenuItem();
JMenuItem jMenuItem8 = new JMenuItem();
JMenuItem jMenuItem9 = new JMenuItem();
JMenu jMenu4 = new JMenu();
JMenuItem jMenuItem4 = new JMenuItem();
JMenuItem jMenuItem10 = new JMenuItem();
JMenuItem jMenuItem11 = new JMenuItem();
String cando = "";
String cant = "";
String de = "";
String arc = "";
JCheckBox jCheckBoxBuscarPorNiveles = new JCheckBox();
JCheckBox jCheckBoxBusquedaProfunda = new JCheckBox();
JFileChooser fc = new JFileChooser();
//Construct the frame
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
HashMap config = this.configuracionDeSistema();
String language = config.get("Idioma").toString();
idioma = this.configuracionDeIdioma(language);
//header[0] = idioma.get("Nombre").toString();
JTextFieldPath.addItem("C:/");
header[0] = idioma.get("Direccion").toString();
contentPane = (JPanel) this.getContentPane();
component1 = Box.createHorizontalStrut(8);
component2 = Box.createHorizontalStrut(8);
contentPane.setLayout(borderLayout1);
this.setJMenuBar(jMenuBar1);
this.setSize(new Dimension(880, 542));
this.setTitle("Velox Beta V1.0");
this.addComponentListener(new MainFrame_this_componentAdapter(this));
statusBar.setFont(new java.awt.Font("Tahoma", 1, 11));
statusBar.setPreferredSize(new Dimension(3, 23));
statusBar.setText(" ");
jPanel1.setLayout(borderLayout2);
jPanel2.setPreferredSize(new Dimension(250, 10));
jPanel2.setLayout(borderLayout3);
borderLayout1.setHgap(5);
borderLayout1.setVgap(5);
jPanel4.setBackground(Color.orange);
jPanel4.setMinimumSize(new Dimension(80, 185));
jPanel4.setPreferredSize(new Dimension(250, 187));
jPanel4.setLayout(borderLayout4);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel1.setRequestFocusEnabled(true);
jLabel1.setToolTipText("");
String busca = idioma.get("Buscar").toString();
String archi = idioma.get("archivos").toString();
String o = idioma.get("o").toString();
String pastas = idioma.get("carpetas").toString();
jLabel1.setText(busca+" "+archi+" "+o+" "+pastas);
jCheckBoxBuscarPalabraEnArchivo.setBackground(Color.orange);
jCheckBoxBuscarPalabraEnArchivo.setFont(new java.awt.Font("Tahoma", 1, 12));
String la = idioma.get("la").toString();
String sgt = idioma.get("Sgte.").toString();
String palabra = idioma.get("palabra").toString();
String en = idioma.get("en").toString();
jCheckBoxBuscarPalabraEnArchivo.setActionCommand(busca+" "+ la +" "+ sgt +" "+ palabra +" "+ en +" "+ archi );
jCheckBoxBuscarPalabraEnArchivo.setText(busca+" "+ la +" "+ sgt +" "+ palabra +" "+ en +" "+ archi);
jCheckBoxBuscarPalabraEnArchivo.addKeyListener(new MainFrame_jCheckBoxBuscarPalabraEnArchivo_keyAdapter(this));
jCheckBoxBuscarPalabraEnArchivo.addItemListener(new MainFrame_jCheckBoxBuscarPalabraEnArchivo_itemAdapter(this));
jLabel2.setText(busca +" "+ en +":");
jLabel2.setToolTipText("");
jLabel2.setRequestFocusEnabled(true);
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12));
JTextFieldPalabra.setEnabled(false);
JTextFieldPalabra.setFont(new java.awt.Font("Dialog", 1, 12));
JTextFieldPalabra.setText("");
JTextFieldPalabra.addKeyListener(new MainFrame_JTextFieldPalabra_keyAdapter(this));
jTextFieldArchivo.setFont(new java.awt.Font("Dialog", 1, 12));
jTextFieldArchivo.addKeyListener(new MainFrame_jTextFieldArchivo_keyAdapter(this));
jPanel3.setLayout(borderLayout5);
jPanel5.setBackground(Color.orange);
jPanel5.setMinimumSize(new Dimension(238, 272));
jPanel5.setPreferredSize(new Dimension(10, 250));
jPanel5.setLayout(gridLayout1);
gridLayout1.setColumns(1);
gridLayout1.setHgap(5);
gridLayout1.setRows(9);
gridLayout1.setVgap(5);
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
jEditorPane2.setText("");
jEditorPane2.setEditable(false);
jEditorPane2.setFont(new java.awt.Font("Dialog", 1, 12));
jEditorPane2.setBackground(UIManager.getColor("info"));
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
jPanel3.setMinimumSize(new Dimension(80, 54));
jPanel3.setPreferredSize(new Dimension(300, 431));
String archiv = idioma.get("Archivo").toString() ;
jMenu1.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu1.setText(archiv);
String sal = idioma.get("Salir").toString() ;
jMenuItem1.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem1.setText( sal );
jMenuItem1.addActionListener(new MainFrame_jMenuItem1_actionAdapter(this));
buscar.setFont(new java.awt.Font("Tahoma", 1, 11));
buscar.setPreferredSize(new Dimension(88, 22));
buscar.setText(busca);
buscar.addActionListener(new MainFrame_buscar_actionAdapter(this));
detener.setFont(new java.awt.Font("Tahoma", 1, 11));
detener.setPreferredSize(new Dimension(85, 22));
String det = idioma.get("Detener").toString() ;
detener.setText( det );
detener.addActionListener(new MainFrame_detener_actionAdapter(this));
jPanel6.setBackground(Color.orange);
jPanel6.setFont(new java.awt.Font("Dialog", 1, 12));
jPanel6.setMinimumSize(new Dimension(156, 35));
jPanel6.setPreferredSize(new Dimension(165, 40));
jPanel6.setLayout(flowLayout1);
flowLayout1.setAlignment(FlowLayout.LEFT);
flowLayout1.setHgap(5);
flowLayout1.setVgap(0);
borderLayout4.setHgap(5);
borderLayout4.setVgap(5);
JTextFieldPath.setFont(new java.awt.Font("Dialog", 1, 12));
JTextFieldPath.addKeyListener(new MainFrame_JTextFieldPath_keyAdapter(this));
jPanel7.setLayout(borderLayout6);
botonDir.setFont(new java.awt.Font("Tahoma", 1, 18));
botonDir.setPreferredSize(new Dimension(50, 20));
botonDir.setText("....");
botonDir.addActionListener(new MainFrame_botonDir_actionAdapter(this));
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel3.setBorder(BorderFactory.createEtchedBorder());
jLabel3.setMaximumSize(new Dimension(48, 25));
jLabel3.setMinimumSize(new Dimension(48, 25));
jLabel3.setPreferredSize(new Dimension(200, 25));
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
jLabel3.setText("Velox Beta V1.0 ");
jPanel9.setLayout(borderLayout7);
l1.setFont(new java.awt.Font("Tahoma", 1, 12));
l1.setPreferredSize(new Dimension(34, 100));
l1.setText("");
jPanel10.setLayout(gridLayout2);
gridLayout2.setColumns(1);
gridLayout2.setRows(5);
l3.setFont(new java.awt.Font("Tahoma", 1, 12));
l3.setText("");
jPanel10.setBackground(new Color(252, 246, 218));
jPanel10.setPreferredSize(new Dimension(34, 150));
statusBar.setFont(new java.awt.Font("Tahoma", 1, 12));
statusBar.setText("");
l4.setBackground(Color.lightGray);
l4.setFont(new java.awt.Font("Tahoma", 1, 12));
l4.setAlignmentY((float) 0.5);
jTable1.setBackground(new Color(252, 246, 218));
jTable1.setFont(new java.awt.Font("Dialog", 1, 12));
jTable1.setToolTipText("Click para abrir este archivo o carpeta");
jTable1.setRowHeight(20);
jTable1.setShowVerticalLines(false);
jTable1.addMouseListener(new MainFrame_jTable1_mouseAdapter(this));
jPanel11.setLayout(borderLayout8);
jPanel11.setPreferredSize(new Dimension(85, 45));
jSlider1.setPreferredSize(new Dimension(85, 20));
jSlider1.addChangeListener(new MainFrame_jSlider1_changeAdapter(this));
jSlider2.setMaximum(255);
jSlider2.setPreferredSize(new Dimension(85, 20));
jSlider2.addChangeListener(new MainFrame_jSlider2_changeAdapter(this));
jSlider3.setMaximum(255);
jSlider3.setPreferredSize(new Dimension(85, 20));
jSlider3.addChangeListener(new MainFrame_jSlider3_changeAdapter(this));
jPanel12.setPreferredSize(new Dimension(320, 35));
String apa = idioma.get("Apariencia").toString() ;
jMenu2.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu2.setText(apa);
String ayu = idioma.get("Ayuda").toString() ;
jMenu3.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu3.setText(ayu);
String cre = idioma.get("Creditos").toString();
jMenuItem2.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem2.setText(cre);
jMenuItem2.addActionListener(new MainFrame_jMenuItem2_actionAdapter(this));
jMenuItem3.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem3.setText("Windows");
jMenuItem3.addActionListener(new MainFrame_jMenuItem3_actionAdapter(this));
jMenuItem5.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem5.setText("JGoodies");
jMenuItem5.addActionListener(new MainFrame_jMenuItem5_actionAdapter(this));
jMenuItem6.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem6.setText("Kunststoff");
jMenuItem6.addActionListener(new MainFrame_jMenuItem6_actionAdapter(this));
jMenuItem7.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem7.setText("3D_LookAndFeel");
jMenuItem7.addActionListener(new MainFrame_jMenuItem7_actionAdapter(this));
jMenuItem8.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem8.setText("Metal");
jMenuItem8.addActionListener(new MainFrame_jMenuItem8_actionAdapter(this));
jMenuItem9.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem9.setText("Motif");
jMenuItem9.addActionListener(new MainFrame_jMenuItem9_actionAdapter(this));
String idi = idioma.get("Idioma").toString();
jMenu4.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenu4.setText(idi);
jMenuItem4.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem4.setText("Español");
jMenuItem4.addActionListener(new MainFrame_jMenuItem4_actionAdapter(this));
jMenuItem11.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem11.setText("Inglés");
jMenuItem11.addActionListener(new MainFrame_jMenuItem11_actionAdapter(this));
jMenuItem10.setFont(new java.awt.Font("Tahoma", 1, 11));
jMenuItem10.setText("Portugués");
jMenuItem10.addActionListener(new MainFrame_jMenuItem10_actionAdapter(this));
jCheckBoxBuscarPorNiveles.setBackground(Color.orange);
jCheckBoxBuscarPorNiveles.setFont(new java.awt.Font("Tahoma", 1, 11));
jCheckBoxBuscarPorNiveles.setSelected(true);
jCheckBoxBuscarPorNiveles.setText("Realizar busqueda por niveles");
jCheckBoxBuscarPorNiveles.addItemListener(new MainFrame_jCheckBoxBuscarPorNiveles_itemAdapter(this));
jCheckBoxBusquedaProfunda.setBackground(Color.orange);
jCheckBoxBusquedaProfunda.setFont(new java.awt.Font("Tahoma", 1, 11));
jCheckBoxBusquedaProfunda.setText("Realizar busqueda por profundidad");
jCheckBoxBusquedaProfunda.addItemListener(new MainFrame_jCheckBoxBusquedaProfunda_itemAdapter(this));
l2.setFont(new java.awt.Font("Tahoma", 1, 12));
contentPane.add(statusBar, BorderLayout.SOUTH);
contentPane.add(jToolBar1, BorderLayout.NORTH);
jToolBar1.add(jPanel8, null);
jPanel8.add(jLabel3, null);
contentPane.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jSplitPane1, BorderLayout.CENTER);
jSplitPane1.add(jPanel2, JSplitPane.LEFT);
jPanel2.add(component1, BorderLayout.WEST);
jPanel2.add(jPanel4, BorderLayout.CENTER);
jPanel4.add(jPanel5, BorderLayout.NORTH);
jPanel5.add(jLabel1, null);
jPanel5.add(jTextFieldArchivo, null);
jPanel5.add(jCheckBoxBuscarPalabraEnArchivo, null);
jPanel5.add(JTextFieldPalabra, null);
jPanel5.add(jLabel2, null);
jPanel5.add(jPanel7, null);
jPanel7.add(JTextFieldPath, BorderLayout.CENTER);
jPanel7.add(botonDir, BorderLayout.EAST);
jPanel5.add(jCheckBoxBuscarPorNiveles, null);
jPanel5.add(jCheckBoxBusquedaProfunda, null);
jPanel5.add(jPanel6, null);
jPanel6.add(buscar, null);
jPanel6.add(detener, null);
jSplitPane1.add(jPanel3, JSplitPane.RIGHT);
jPanel3.add(component2, BorderLayout.EAST);
jPanel3.add(jSplitPane2, BorderLayout.CENTER);
jSplitPane2.add(jScrollPane1, JSplitPane.BOTTOM);
jSplitPane2.add(jPanel11, JSplitPane.TOP);
jPanel11.add(jPanel12, BorderLayout.WEST);
jPanel12.add(jSlider1, null);
jPanel12.add(jSlider2, null);
jPanel12.add(jSlider3, null);
jScrollPane1.getViewport().add(jTable1, null);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu4);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jPanel4.add(jPanel9, BorderLayout.CENTER);
jPanel9.add(jPanel10, BorderLayout.NORTH);
jPanel10.add(l1, null);
jPanel10.add(l2, null);
jPanel10.add(l3, null);
jPanel10.add(l4, null);
jMenu3.add(jMenuItem2);
jMenu2.add(jMenuItem3);
jMenu2.add(jMenuItem5);
jMenu2.add(jMenuItem6);
jMenu2.add(jMenuItem7);
jMenu2.add(jMenuItem8);
jMenu2.add(jMenuItem9);
jMenu4.add(jMenuItem4);
jMenu4.add(jMenuItem10);
jMenu4.add(jMenuItem11);
jSplitPane1.setAutoscrolls(true);
jSlider1.setMaximum(255);
jSlider2.setMaximum(255);
jSlider3.setMaximum(255);
jSlider1.setValue(252);
jSlider2.setValue(246);
jSlider3.setValue(218);
cando = idioma.get("Buscando...").toString();
cant = idioma.get("Cantidad").toString();
de = idioma.get("de").toString();
arc = idioma.get("archivos").toString();
JTextFieldPath.setEditable(true);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public void start(){
try{
Thread timer = new Thread(this);
timer.start();
}catch(Throwable e){
e.printStackTrace();
}
}
public void stop(){
timer = null;
}
public void run(){
try{
String path = JTextFieldPath.getSelectedItem().toString();
if(jCheckBoxBuscarPorNiveles.isSelected()){
if (!jCheckBoxBuscarPalabraEnArchivo.isSelected()) {
seguir = true;
String archivo = jTextFieldArchivo.getText().trim();
buscarPorNiveles(path, archivo);
}else{
String palabra = JTextFieldPalabra.getText().trim();
buscarPalabraPorNiveles(path,palabra);
}
}else{ // Si la busquedad no es por niveles
seguir = true;
if (jCheckBoxBuscarPalabraEnArchivo.isSelected()) {
String palabra = JTextFieldPalabra.getText().trim();
buscarPalabra(path, palabra);
} else {
String archivo = jTextFieldArchivo.getText().trim();
buscar(path, archivo);
}
}
}catch(Throwable ex){
ex.printStackTrace();
}
}
void buscar_actionPerformed(ActionEvent e) {
try{
start();
cantidad = 0;
this.limpiarTabla();
l3.setText("");
}catch(Exception ex){
Toolkit.getDefaultToolkit().beep();
ex.printStackTrace();
}
}
void botonDir_actionPerformed(ActionEvent e) {
try{
fc.setFileSelectionMode(1);
fc.showOpenDialog(this);
File f = fc.getSelectedFile ();
JTextFieldPath.addItem(f.toString());
JTextFieldPath.setSelectedItem(f.toString());
}catch(Exception ex){
}
}
public void limpiarTabla(){
Object[][] dat = new Object[0][1];
TableModel tableModel = new DefaultTableModel(dat, header);
jTable1.setModel(tableModel);
jTable1.getTableHeader().setFont(new java.awt.Font("Tahoma", 1, 13));
// String name = jTable1.getColumnName(0);
String dire = jTable1.getColumnName(0);
// jTable1.getColumn(name).setPreferredWidth(50);
jTable1.getColumn(dire).setPreferredWidth(200);
}
public void modelar(String dir){
try{
int tam = jTable1.getRowCount() ;
Object[][] dat = new Object[tam + 1 ][1];
for (int i = 0; i < tam; i++) {
dat[i][0] = jTable1.getValueAt(i, 0);
// dat[i][1] = jTable1.getValueAt(i, 1);
}
dat[tam][0] = dir;
// dat[tam][1] = dir;
TableModel tableModel = new DefaultTableModel(dat, header);
jTable1.setModel(tableModel);
jTable1.getTableHeader().setFont(new java.awt.Font("Tahoma", 1, 13));
// String name = jTable1.getColumnName(0);
String dire = jTable1.getColumnName(0);
// jTable1.getColumn(name).setPreferredWidth(50);
jTable1.getColumn(dire).setPreferredWidth(200);
}catch(Exception e){
// e.printStackTrace();
}
}
void detener_actionPerformed(ActionEvent e) {
seguir = false;
stop();
String bus = idioma.get("Busqueda").toString();
String dete = idioma.get("detenida").toString();
l1.setText( bus+" "+ dete);
if(jCheckBoxBuscarPorNiveles.isSelected()){
l3.setText(
" Fin de la busqueda por niveles....... ");
}
cantidad = 0;
}
void jCheckBoxBuscarPalabraEnArchivo_itemStateChanged(ItemEvent e) {
if(jCheckBoxBuscarPalabraEnArchivo.isSelected()){
JTextFieldPalabra.setEnabled(true);
jTextFieldArchivo.setEnabled(false);
}else{
JTextFieldPalabra.setEnabled(false);
jTextFieldArchivo.setEnabled(true);
}
}
public void buscar(String urlO, String palabra ) {
try{
String separador = File.separator;
String origen = urlO;
File fo = new File(origen);
File[] archivos = fo.listFiles();
cantidad+= archivos.length;
l1.setText(cando);
l3.setText(" "+cant+" "+ de +" "+ arc +" "+cantidad);
String[] noms;
try {
noms = fo.list();
} catch (NullPointerException e) {
noms = new String[0];
}
for (int i = 0; i < noms.length; i++) {
File archivo = archivos[i];
if (archivo.isDirectory()) { // _Carpeta
String temp = noms[i];
statusBar.setText(archivo.toString());
if (archivo.toString().indexOf( palabra ) != -1){
modelar(archivo.toString());
}
if(seguir){
buscar(origen + separador + temp, palabra); // Metodo recursivo
}else{
break;
}
} else {
String temp = origen + separador + noms[i];
statusBar.setText(temp);
if (temp.indexOf( palabra ) != -1){
modelar(temp);
}
}
}
}catch(Exception e){
// e.printStackTrace();
detener.doClick();
}
}
public void buscarPalabra(String urlO, String palabraEnArchivo ) {
try{
String separador = File.separator;
String origen = urlO;
File fo = new File(origen);
File[] archivos = fo.listFiles();
l1.setText(" "+cando);
statusBar.setText(cant+" "+ de +" "+ arc +" "+cantidad);
String[] noms;
try {
noms = fo.list();
} catch (NullPointerException e) {
noms = new String[0];
}
for (int i = 0; i < noms.length; i++) {
File archivo = archivos[i];
if (archivo.isDirectory()) {
String a = noms[i];
if(seguir){
buscarPalabra(origen + separador + a, palabraEnArchivo ); // Metodo recursivo
}else{
break;
}
} else {
String temp = origen + separador + noms[i];
try{
grep(new java.io.FileReader(temp), temp, palabraEnArchivo);
}catch(Exception e){
// System.out.println("Error en el Greep no puede leer el archivo... "+ e.toString());
}
}
}
}catch(Exception e){
// e.printStackTrace();
detener.doClick();
}
}
// -------------------------Todo por niveles hacia abajo---------------------//
public void buscarPorNiveles(String urlO, String archivo ) {
int nivel = 0;
int tamCola = 0;
try{
cola.vaciarCola();
String origen = urlO;
// System.out.println("Empezando busqueda en " + urlO);
File fo = new File(origen);
File[] archivos = fo.listFiles();
l1.setText(" Buscando en "+ urlO);
for(int i = 0;i < archivos.length;i++ ){ //agrego a la cola
cola.agregar(archivos[i]); tamCola++;
}
while(!cola.vacia()){ // Mientras la cola no este vacia
if(!seguir){
break;
}
File file = (File) cola.sacar();
tamCola--;
if(tamCola == 0){
nivel++;
tamCola = cola.tamano();
}
l2.setText(" Buscando en el Nivel "+nivel);
statusBar.setText(" Buscando "+ archivo +" en "+file.getPath());
if (file.toString().indexOf( archivo ) != -1){
modelar(file.getPath());
//System.out.println("Archivo en contrado en :" + file.toString());
}
try{
File[] hijos = file.listFiles();
for (int i = 0; i < hijos.length; i++) { //agrego a la cola
cola.agregar(hijos[i]);
}
}catch(Exception e){
// System.out.println("No tiene hijos " );
}
}
if(jCheckBoxBuscarPorNiveles.isSelected()){
l3.setText(" Fin de la busqueda por niveles....... ");
}
}catch(Exception e){
//e.printStackTrace();
}
}
public void buscarPalabraPorNiveles(String urlO, String palabraEnArchivo ) {
int nivel = 0;
int tamCola = 0;
try{
cola.vaciarCola();
String origen = urlO;
File fo = new File(origen);
File[] archivos = fo.listFiles();
l1.setText(" Buscando en "+ urlO);
for(int i = 0;i < archivos.length;i++ ){ //agrego a la cola
cola.agregar(archivos[i]); tamCola++;
}
while(!cola.vacia()){ // Mientras la cola no este vacia
if(!seguir){
break;
}
File file = (File) cola.sacar();
tamCola--;
if(tamCola == 0){
nivel++;
tamCola = cola.tamano();
}
l2.setText(" Buscando en el Nivel "+nivel);
statusBar.setText(" Buscando "+ palabraEnArchivo +" en "+file.getPath());
// System.out.println("file.toString() "+file.toString());
try{
grep(new java.io.FileReader(file), file.getPath(), palabraEnArchivo); // El se encarga de modelar si encuentra la palabra
}catch(Exception e){
// System.out.println("Error en el grep no puede leer el archivo... "+ e.toString());
}
try{
File[] hijos = file.listFiles();
for (int i = 0; i < hijos.length; i++) { //agrego a la cola
cola.agregar(hijos[i]);// System.out.println("Agregando hijos " );
}
}catch(Exception e){
// System.out.println("No tiene hijos " );
}
}
if(jCheckBoxBuscarPorNiveles.isSelected()){
l3.setText(" Fin de la busqueda por niveles....... ");
stop();
seguir= true;
}
}catch(Exception e){
// System.out.println("Error en 719 "+ e.toString() );
e.printStackTrace();
}
}
public void grep (Reader reader, String dir ,String palabraEnArchivo) {
try{
BufferedReader in = new BufferedReader(reader);
String cando = idioma.get("Buscando").toString();
String en = idioma.get("en").toString();
statusBar.setText(cando+" "+ palabraEnArchivo + " "+ en +": "+ dir);
while ( (line = in.readLine()) != null) { // read line
l3.setText(" "+line);
if(seguir){
if (line.indexOf(palabraEnArchivo) != -1) { // contains text?
this.modelar(dir);
}
}else{
break;
}
}
}catch(Exception ex){
detener.doClick();
}
}
public void cambiarLook(String look){
java.util.HashMap looks = new java.util.HashMap();
looks.put("JGoodies" , "com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
looks.put("3D_LookAndFeel", "swing.addon.plaf.threeD.ThreeDLookAndFeel");
looks.put("Windows" , "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
looks.put("Metal" , "javax.swing.plaf.metal.MetalLookAndFeel");
looks.put("Motif" , "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
looks.put("Kunststoff" , "com.incors.plaf.kunststoff.KunststoffLookAndFeel");
String lookAndFeel =(String) looks.get(look);
try{
UIManager.setLookAndFeel(lookAndFeel);
SwingUtilities.updateComponentTreeUI( this );
}catch(Exception ex){
}
}
//Este metodo lee la configuracion del sistema
public static HashMap configuracionDeSistema() throws NullPointerException {
HashMap hm = new HashMap();
try{
File file = new File("Archivos/Configuracion.dat");
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
hm = (HashMap) ois.readObject();
ois.close();
return hm;
}catch(Exception e){
return null;
}
}
//Este metodo Escribe una modificacion que se ha hecho en el sistema
public static void escribirConfiguracionDeSistema(HashMap config){
try{
File file = new File("Archivos/Configuracion.dat");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(config);
oos.close();
oos.flush(); // System.out.println("Configuracion escrita...");
}catch(Exception e){
//System.out.println("Error al escribir configuracion...");
}
}
// Este metodo lee la configuracion del idioma
public static HashMap configuracionDeIdioma(String idioma){
HashMap hm = new HashMap();
try{
File file = new File("Archivos/Idiomas/"+ idioma );
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
hm = (HashMap) ois.readObject();
ois.close();
return hm;
}catch(Exception e){
return hm;
}
}
void jSlider1_stateChanged(ChangeEvent e) {
int val = jSlider1.getValue();
jTable1.setBackground(new Color(val, 246, 218));
}
void jSlider2_stateChanged(ChangeEvent e) {
int val = jSlider2.getValue();
jTable1.setBackground(new Color(252, val, 218));
}
void jSlider3_stateChanged(ChangeEvent e) {
int val = jSlider3.getValue();
jTable1.setBackground(new Color(252, 246, val));
}
private void enter(KeyEvent e, JComponent jC){
if( e.getKeyCode() == KeyEvent.VK_ENTER ){
jC.grabFocus();
}
}
void this_componentShown(ComponentEvent e) {
jTextFieldArchivo.grabFocus();
}
void jTextFieldArchivo_keyReleased(KeyEvent e) {
enter(e, jCheckBoxBuscarPalabraEnArchivo);
}
void jCheckBoxBuscarPalabraEnArchivo_keyReleased(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_ENTER ){
jCheckBoxBuscarPalabraEnArchivo.doClick();
}
}
void JTextFieldPalabra_keyReleased(KeyEvent e) {
enter(e,JTextFieldPath);
}
void JTextFieldPath_keyReleased(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_ENTER ){
buscar.doClick();
}
}
void jMenuItem3_actionPerformed(ActionEvent e) {
this.cambiarLook("Windows");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Windows");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem5_actionPerformed(ActionEvent e) {
this.cambiarLook("JGoodies");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","JGoodies");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem6_actionPerformed(ActionEvent e) {
this.cambiarLook("Kunststoff");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Kunststoff");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem7_actionPerformed(ActionEvent e) {
this.cambiarLook("3D_LookAndFeel");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","3D_LookAndFeel");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem8_actionPerformed(ActionEvent e) {
this.cambiarLook("Metal");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Metal");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem9_actionPerformed(ActionEvent e) {
this.cambiarLook("Motif");
HashMap hm = this.configuracionDeSistema();
hm.put("Apariencia","Motif");
this.escribirConfiguracionDeSistema(hm);
}
void jMenuItem1_actionPerformed(ActionEvent e) {
System.exit(0);
}
void jMenuItem4_actionPerformed(ActionEvent e) {
HashMap hm = this.configuracionDeSistema();
hm.put("Idioma","Espanhol.dat");
this.escribirConfiguracionDeSistema(hm);
try{
this.jbInit();
}catch(Exception ex){}
}
void jMenuItem10_actionPerformed(ActionEvent e) {
HashMap hm = this.configuracionDeSistema();
hm.put("Idioma","Portugues.dat");
this.escribirConfiguracionDeSistema(hm);
try{
this.jbInit();
}catch(Exception ex){}
}
void jMenuItem11_actionPerformed(ActionEvent e) {
HashMap hm = this.configuracionDeSistema();
hm.put("Idioma","Ingles.dat");
this.escribirConfiguracionDeSistema(hm);
try{
this.jbInit();
}catch(Exception ex){}
}
void jMenuItem2_actionPerformed(ActionEvent e) {
Credito c = new Credito();
c.setSize(500,350);
c.setLocation(this.getLocation());
c.setVisible(true);
}
void jCheckBoxBuscarPorNiveles_itemStateChanged(ItemEvent e) {
if(jCheckBoxBuscarPorNiveles.isSelected()){
jCheckBoxBusquedaProfunda.setSelected(false);
}else{
jCheckBoxBusquedaProfunda.setSelected(true);
}
}
void jCheckBoxBusquedaProfunda_itemStateChanged(ItemEvent e) {
if(jCheckBoxBusquedaProfunda.isSelected()){
jCheckBoxBuscarPorNiveles.setSelected(false);
}else{
jCheckBoxBuscarPorNiveles.setSelected(true);
}
}
void jTable1_mouseClicked(MouseEvent e) {
int fila = jTable1.getSelectedRow();
String dir = jTable1.getValueAt(fila,0).toString();
System.out.println(dir);
Process p = null;
Runtime r = Runtime.getRuntime();
try {
String path = ""+dir+"";
String cad = "\"C:/WINDOWS/explorer.exe\" "+ path +" ";
p = r.exec(cad);
// p.destroy();
} catch( Exception ex) {
ex.printStackTrace();
}
}
}
class MainFrame_buscar_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_buscar_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.buscar_actionPerformed(e);
}
}
class MainFrame_botonDir_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_botonDir_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.botonDir_actionPerformed(e);
}
}
class MainFrame_detener_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_detener_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.detener_actionPerformed(e);
}
}
class MainFrame_jCheckBoxBuscarPalabraEnArchivo_itemAdapter implements java.awt.event.ItemListener {
MainFrame adaptee;
MainFrame_jCheckBoxBuscarPalabraEnArchivo_itemAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jCheckBoxBuscarPalabraEnArchivo_itemStateChanged(e);
}
}
class MainFrame_jSlider1_changeAdapter implements javax.swing.event.ChangeListener {
MainFrame adaptee;
MainFrame_jSlider1_changeAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void stateChanged(ChangeEvent e) {
adaptee.jSlider1_stateChanged(e);
}
}
class MainFrame_jSlider2_changeAdapter implements javax.swing.event.ChangeListener {
MainFrame adaptee;
MainFrame_jSlider2_changeAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void stateChanged(ChangeEvent e) {
adaptee.jSlider2_stateChanged(e);
}
}
class MainFrame_jSlider3_changeAdapter implements javax.swing.event.ChangeListener {
MainFrame adaptee;
MainFrame_jSlider3_changeAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void stateChanged(ChangeEvent e) {
adaptee.jSlider3_stateChanged(e);
}
}
class MainFrame_this_componentAdapter extends java.awt.event.ComponentAdapter {
MainFrame adaptee;
MainFrame_this_componentAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void componentShown(ComponentEvent e) {
adaptee.this_componentShown(e);
}
}
class MainFrame_jTextFieldArchivo_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_jTextFieldArchivo_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.jTextFieldArchivo_keyReleased(e);
}
}
class MainFrame_jCheckBoxBuscarPalabraEnArchivo_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_jCheckBoxBuscarPalabraEnArchivo_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.jCheckBoxBuscarPalabraEnArchivo_keyReleased(e);
}
}
class MainFrame_JTextFieldPalabra_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_JTextFieldPalabra_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.JTextFieldPalabra_keyReleased(e);
}
}
class MainFrame_JTextFieldPath_keyAdapter extends java.awt.event.KeyAdapter {
MainFrame adaptee;
MainFrame_JTextFieldPath_keyAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void keyReleased(KeyEvent e) {
adaptee.JTextFieldPath_keyReleased(e);
}
}
class MainFrame_jMenuItem3_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem3_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem3_actionPerformed(e);
}
}
class MainFrame_jMenuItem5_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem5_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem5_actionPerformed(e);
}
}
class MainFrame_jMenuItem6_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem6_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem6_actionPerformed(e);
}
}
class MainFrame_jMenuItem7_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem7_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem7_actionPerformed(e);
}
}
class MainFrame_jMenuItem8_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem8_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem8_actionPerformed(e);
}
}
class MainFrame_jMenuItem9_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem9_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem9_actionPerformed(e);
}
}
class MainFrame_jMenuItem1_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem1_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem1_actionPerformed(e);
}
}
class MainFrame_jMenuItem4_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem4_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem4_actionPerformed(e);
}
}
class MainFrame_jMenuItem10_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem10_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem10_actionPerformed(e);
}
}
class MainFrame_jMenuItem11_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem11_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem11_actionPerformed(e);
}
}
class MainFrame_jMenuItem2_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jMenuItem2_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class MainFrame_jCheckBoxBuscarPorNiveles_itemAdapter implements java.awt.event.ItemListener {
MainFrame adaptee;
MainFrame_jCheckBoxBuscarPorNiveles_itemAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jCheckBoxBuscarPorNiveles_itemStateChanged(e);
}
}
class MainFrame_jCheckBoxBusquedaProfunda_itemAdapter implements java.awt.event.ItemListener {
MainFrame adaptee;
MainFrame_jCheckBoxBusquedaProfunda_itemAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jCheckBoxBusquedaProfunda_itemStateChanged(e);
}
}
class MainFrame_jTable1_mouseAdapter extends java.awt.event.MouseAdapter {
MainFrame adaptee;
MainFrame_jTable1_mouseAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jTable1_mouseClicked(e);
}
}

No hay comentarios:
Publicar un comentario