
/**
 * Title:        Projeto Arquivo<p>
 * Description:  Projeto com classes para manipular arquivos<p>
 * Copyright:    Copyright (c) Matheus Araújo<p>
 * Company:      Baneb<p>
 * @author Matheus Araújo
 * @version 1.0
 */
package arquivo;

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class getFile extends Frame implements Runnable{
  Thread runner;
  URL page;
  TextArea box=new TextArea("Getting text...");
  TextField end=new TextField("http://www.temjeito.com.br");
  Button b=new Button("Pegar");
  Panel p=new Panel();
  public getFile() {
    super("Get File");
    add(box,"Center");
    p.add(end,"Center");
    p.add(b,"East");
    add(p,"South");
    b.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        b_actionPerformed(e);
      }
    });
    try{
      page= new URL("http://www.temjeito.com.br");
    }
    catch(MalformedURLException e){
      System.out.println("Bad URL"+e);
    }
  }
  public static void main(String[] args){
    getFile frame=new getFile();

    WindowListener l=new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        System.exit(0);
      }
    };

    frame.addWindowListener(l);
    frame.pack();
    frame.setVisible(true);
    /*if(frame.runner==null){
      frame.runner=new Thread(frame);
      frame.runner.start();
    }*/
  }
  void b_actionPerformed(ActionEvent e) {
    if(runner==null){
      try{
        page= new URL(end.getText());
      }
      catch(MalformedURLException me){
        System.out.println("Bad URL"+me);
      }
      runner=new Thread(this);
      runner.start();
    }
    else{
      runner.stop();
      runner=null;
      b_actionPerformed(e);
    }
  }
  public void run(){
    URLConnection conn=null;
    InputStreamReader in;
    BufferedReader data;
    String line;
    StringBuffer buf=new StringBuffer();
    try{
      conn=this.page.openConnection();
      conn.connect();
      box.setText("Connection Opened ...");
      in= new InputStreamReader(conn.getInputStream());
      data= new BufferedReader(in);
      box.setText("Reading Data ...");
      while((line=data.readLine())!=null){
        buf.append(line+"\n");
      }
      box.setText(buf.toString());
    }
    catch(IOException e){
      System.out.println("IO Error :"+e.getMessage());
    }
  }
}
