// Clase Principal
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.net.*;
class BuscadorPalabrasClave extends JFrame implements ActionListener {
// Atributos
//Etiquetas
JLabel lweb=new JLabel ("Página web ");
JLabel lpalabras=new JLabel("Palabra clave ");
JLabel larchivo=new JLabel ("Archivo ");
JLabel lnumPalabras=new JLabel("Nº Palabras");
//Cajas de texto
JTextField txtWeb=new JTextField(20);
JTextField txtArchivo=new JTextField(24);
JTextField txtPalabras=new JTextField(20);
JTextField txtNumPalabras=new JTextField(3);
JTextArea txtCodigo=new JTextArea(23,50);
//Botones
JButton btBuscar=new JButton(" Buscar ");
JButton btBorrar=new JButton(" Borrar ");
JButton btExaminar=new JButton("Examinar...");
//Menu
JMenuBar MBarra = new JMenuBar();
JMenu MArchivo=new JMenu("Archivo");
JMenuItem MBuscar=new JMenuItem("Buscar");
JMenuItem MBorrar=new JMenuItem("Borrar");
JMenuItem MSalir=new JMenuItem("Salir");
JMenu MOpciones=new JMenu("Opciones");
JMenu MBusc=new JMenu("Buscar en");
ButtonGroup BgBuscar=new ButtonGroup();
JRadioButtonMenuItem MWeb=new JRadioButtonMenuItem("Web");
JRadioButtonMenuItem MDesdeArchivo=new JRadioButtonMenuItem("Desde Archivo");
JCheckBoxMenuItem Mmayusulas=new JCheckBoxMenuItem("Diferenciar Mayus/min");
JCheckBoxMenuItem MProxyPuerto=new JCheckBoxMenuItem("Configuración proxy");
//
String proxy="";
//Constructor
BuscadorPalabrasClave() {
//Poner Barra en el JFrame
MBarra.add(MArchivo);
MArchivo.add(MBuscar);
MBuscar.addActionListener(this);
MArchivo.add(MBorrar);
MBorrar.addActionListener(this);
MArchivo.addSeparator(); //Separador entre ITems
MArchivo.add(MSalir);
MSalir.addActionListener(this);
MBarra.add(MOpciones);
MOpciones.add(MBusc);
MBusc.add(MWeb);
MWeb.addActionListener(this);
MBusc.add(MDesdeArchivo);
MDesdeArchivo.addActionListener(this);
BgBuscar.add(MWeb);
MWeb.setSelected(true);
BgBuscar.add(MDesdeArchivo);
MOpciones.add(Mmayusulas);
Mmayusulas.addActionListener(this);
MOpciones.add(MProxyPuerto);
MProxyPuerto.addActionListener(this);
this.setJMenuBar(MBarra);
//Panel Sur
JPanel PSur=new JPanel();
PSur.add(btBuscar);
btBuscar.addActionListener(this);
PSur.add(btBorrar);
btBorrar.addActionListener(this);
PSur.add(lnumPalabras);
PSur.add(txtNumPalabras);
this.add(PSur,"South");
//Panel Centro
JPanel PCentro=new JPanel();
PCentro.setLayout(new FlowLayout() );
JPanel PIzquierda=new JPanel();
PIzquierda.setLayout(new GridLayout(3,1));
JPanel Ppalabras=new JPanel();
Ppalabras.add(lpalabras);
Ppalabras.add(txtPalabras);
JPanel PWeb=new JPanel();
PWeb.add(lweb);
PWeb.add(txtWeb);
JPanel PArchivo=new JPanel();
PArchivo.add(larchivo);
PArchivo.add(txtArchivo);
PArchivo.add(btExaminar);
btExaminar.addActionListener(this);
PIzquierda.add(Ppalabras);
PIzquierda.add(PWeb);
PIzquierda.add(PArchivo);
//Panel para paroner la barras en el area de texto
JScrollPane barras=new JScrollPane(txtCodigo,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JPanel PCodigo=new JPanel();
PCodigo.add(barras);
PCentro.add(PIzquierda);
PCentro.add(PCodigo);
this.add(PCentro,"Center");
txtWeb.setText("http://todojava.awardspace.com");
//Método para cerrar la ventana
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
//Ocultar Abrir archivo
larchivo.setVisible(false);
txtArchivo.setVisible(false);
btExaminar.setVisible(false);
//Bloquear caja de texto
txtCodigo.setEditable(false);
txtNumPalabras.setEditable(false);
// Propiedades de la ventana
setTitle("Buscador Plabras Clave V 1.0");
setResizable(false);
setSize(600,600);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==Mmayusulas){
}
if(ae.getSource()==btExaminar){
Abrir();
}
if(ae.getSource()==MWeb){
CambiarWebArchivo(false);
}
if(ae.getSource()==MDesdeArchivo){
CambiarWebArchivo(true);
}
if(ae.getSource()==btBuscar || ae.getSource()==MBuscar){
comoBuscar();
}
if(ae.getSource()==MSalir) System.exit(0);
if(ae.getSource()==MProxyPuerto){
if(MProxyPuerto.isSelected())
proxy=JOptionPane.showInputDialog("Configuración de internet. proxy:puerto \n Ej: 192.168.0.1:3357");
}
if(ae.getSource()==MBorrar || ae.getSource()==btBorrar)
{
txtCodigo.setText("");
txtPalabras.setText("");
txtNumPalabras.setText("");
}
}
//Punto de entrada de la aplicación
public static void main (String []args){
new BuscadorPalabrasClave();
}
//****************** Métodos de la clase ******************
//Método de dónde buscar web o archivo
void comoBuscar()
{
if(MWeb.isSelected()==true)
{
String texto="";
try
{
//En caso de tener proxy
if(MProxyPuerto.isSelected()){
//separar proxy y puerto
int posDospuntos=proxy.indexOf(":");
String dir=proxy.substring(0,posDospuntos);
String puerto=proxy.substring(posDospuntos+1,proxy.length());
System.setProperty("http.proxyHost",dir);
System.setProperty("http.proxyPort",puerto);
}
URL direccion=new URL(txtWeb.getText());
InputStreamReader isr=new InputStreamReader(direccion.openStream());
BufferedReader entrada=new BufferedReader(isr);
String linea=null;
while((linea=entrada.readLine())!=null){
texto+=linea +"\n";
}
entrada.close();
}
catch(MalformedURLException mre){
System.out.println(mre);
}
catch(IOException ioe){
System.out.println(ioe);
}
txtCodigo.setText(texto);
buscarPalbara();
}
else{
buscarPalbara();
}
}
//Método para buscar palbras clave
void buscarPalbara(){
int posicion=0;
int numPalabras=0;
String palabra="";
String TextoBusc="";
String token="";
palabra=txtPalabras.getText();
TextoBusc=txtCodigo.getText();
//Uso de la clase StringTokenizer
StringTokenizer Busca=new StringTokenizer(TextoBusc,"\"'!¡., \t\n()[]?¿-_@");
while(Busca.hasMoreTokens()!=false)
{
String palabrilla=Busca.nextToken();
//Diferenciando entre mayúsculas y minúsculas
if(Mmayusulas.isSelected()){
if(palabrilla.equals(palabra))numPalabras++;
}
//Sin deferenciar entre mayúsculas y minúsculas
else {
if(palabrilla.toLowerCase().equals(palabra.toLowerCase()))numPalabras++;
}
}
txtNumPalabras.setText(Integer.toString(numPalabras));
}
//Método de cambiar estado Buscar en web o desde archivo
void CambiarWebArchivo(boolean act){
// Archivo
larchivo.setVisible(act);
txtArchivo.setVisible(act);
btExaminar.setVisible(act);
// Web
lweb.setVisible(!act);
txtWeb.setVisible(!act);
}
//Método de abrir fichero
void Abrir (){
String Text="";
try
{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir")); //System.getProperty("user.dir") abre el fichero de diálogo en el mismo directorio de la clase
fc.showOpenDialog(this);
File Abrir=fc.getSelectedFile(); //Devuelve el File que vamos a leer
if(Abrir!=null)
{
//nombreArchivo=fc.getSelectedFile().getName();
//Pone en txtArchivo la ruta del archivo
txtArchivo.setText(fc.getSelectedFile().getAbsolutePath());
}
if(Abrir!=null)
{
txtCodigo.setText("");
FileReader Fichero=new FileReader(Abrir);
BufferedReader leer=new BufferedReader(Fichero);
while((Text=leer.readLine())!=null)
{
txtCodigo.append(Text+ "\n"); //append Concatena la linea leida
}
leer.close();
}
}
catch(IOException ioe)
{
System.out.println(ioe);
}
}
}
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
Busqueda
Sabias que?
chat
Popular Posts
-
// Clase Principal import java.awt.*; import java.lang.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import ...
-
Nota:estas imagenes son necesarias para el achivo class Raya3 extends JFrame implements ActionListener { //Atributos JButton b...
-
import java.awt.*; import java.lang.*; import javax.swing.*; import java.awt.event.*; class Interface1 extends JFrame { String [...
No hay comentarios:
Publicar un comentario