//: PruebaApplet.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import javax.swing.border.TitledBorder;
import javax.swing.BorderFactory;



/** Clase PruebaApplet extiende JApplet
  * Notese la similitud de esta clase con la de la practica 4
  * @author Laboratorio de Programacion 2002
  */
public class PruebaApplet extends JApplet{
    private JTextArea areaTexto;
    private String fichero="";
    private Container contenedor;
    
   /** Metodo init
     * Es el que realiza la inicializacion de los componentes
     * del applet
     */
   public void init()
   {
      // Obtenemos una referencia al Container del JFrame
      contenedor = getContentPane();
      
      contenedor.setLayout(new FlowLayout (FlowLayout.CENTER));  
      
      
      // Un contenedor intermedio de componentes
      JPanel panel1 = new JPanel();
      
      
      // Paneles para organizar
      JPanel panel11 = new JPanel();
      JPanel panel12 = new JPanel();
      

      JButton boton1 = new JButton("Mostrar Fichero");
      panel11.setPreferredSize(new Dimension(400,50));
      panel11.add(boton1);


      // Un area de texto con tamaño de 8 filas y 30 columnas (medido en caracteres)
      areaTexto = new JTextArea(10, 30); 


      // Puesto que el area de texto va a ser para mostrar datos la deshabilitamos
      areaTexto.setEnabled(false);
      
      // Creamos barras de desplazamiento para el area de texto
      JScrollPane panelDeslizamiento = new JScrollPane(areaTexto); 
      
      // Colocamos este componente en el panel1
      panel12.add(panelDeslizamiento);
      panel12.setPreferredSize(new Dimension(400,250));

      TitledBorder title1;
      title1 = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Datos para la busqueda");
      panel1.setBorder(title1);

      // Añadimos los paneles de organizacion al otro
      panel1.add(panel11);
      panel1.add(panel12);
      
      // Le asignamos un tamaño al panel1
      panel1.setPreferredSize(new Dimension(490,360));

      // Añadimos el panel
      contenedor.add(panel1);
 


      // Ahora registramos un objeto de una clase anónima como auditor de 
      // eventos de raton asociado al boton2.
      boton1.addMouseListener(
         new MouseAdapter() {
            public void mousePressed(MouseEvent ev) {
               String cad;
               areaTexto.setText("");
               fichero = "c:/tmp/fichero.txt";
               try{
                  BufferedReader br = new BufferedReader(new FileReader(fichero));
                  while ((cad=br.readLine())!=null)
                     areaTexto.append(cad + "\n");
                  br.close();
               }catch(IOException e){
                  JOptionPane.showMessageDialog(null, "Error con el fichero", "Error", JOptionPane.ERROR_MESSAGE); 
               }
            }
         });

   }

}

