package com.fitbank.javascript; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JTextField; /** * Clase CuadroBusqueda. * * @author FitBank */ public class CuadroBusqueda extends JDialog { private static final long serialVersionUID = 1L; private FlowLayout flowLayout1 = new FlowLayout(); private JLabel etiqueta = new JLabel(); private JTextField busqueda = new JTextField(); private JCheckBox resaltarAux = new JCheckBox(); private JCheckBox regex = new JCheckBox(); private JButton buscarAux = new JButton(); private JButton cancelar = new JButton(); private String resultado = null; private boolean resaltado = false; /** * Crea un nuevo objeto CuadroBusqueda. * * @param parent * Dialogo que muestra este dialogo. */ public CuadroBusqueda(JDialog parent) { super(parent, "", true); try { jbInit(); } catch (Exception e) { e.printStackTrace(); } } /** * Genera un cuadro de busqueda. * * @param valorInicial * Valor inicial de busqueda * * @return String con la seleccion del usuario */ public String buscar(String valorInicial) { busqueda.setText(valorInicial); this.setVisible(true); return resultado; } private void jbInit() throws Exception { setTitle("Buscar"); getContentPane().setLayout(flowLayout1); this.setSize(new Dimension(361, 117)); etiqueta.setText("Buscar:"); busqueda.setPreferredSize(new Dimension(250, 20)); busqueda.setMinimumSize(new Dimension(250, 20)); resaltarAux.setText("Resaltar resultados"); regex.setText("Usar expresiones regulares"); buscarAux.setText("Buscar"); buscarAux.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { CuadroBusqueda.this.buscarActionPerformed(); } }); cancelar.setText("Cancelar"); cancelar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { CuadroBusqueda.this.cancelarActionPerformed(); } }); getContentPane().add(etiqueta, null); getContentPane().add(busqueda, null); getContentPane().add(resaltarAux, null); getContentPane().add(regex, null); getContentPane().add(buscarAux, null); getContentPane().add(cancelar, null); } private void buscarActionPerformed() { resultado = busqueda.getText(); if (!regex.isSelected()) { resultado = resultado.replaceAll("\\.", "\\."); resultado = resultado.replaceAll("\\(", "\\("); resultado = resultado.replaceAll("\\)", "\\)"); } resaltado = resaltarAux.isSelected(); setVisible(false); } private void cancelarActionPerformed() { setVisible(false); } /** * Define si se debe resaltarAux la busqueda. * * @return true si el usuario escogio resaltarAux la busqueda. */ public boolean resaltar() { return resaltado; } }