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

public class Afficheur extends Frame implements ActionListener {
  MenuItem Quitter;
  private void RemplitFenetre(InputStream dis,int taille)
  throws IOException 
  {TextArea text;
   // lecture du fichier dans un tableau
   byte[] contenu= new byte[taille];
   dis.read(contenu,0,taille);
   dis.close();
   // definition et remplissage de la zone de texte
   text= new TextArea(new String(contenu),24,40);
   text.setFont(new Font("Courier",Font.PLAIN,10));
   text.setEditable(false);
   this.add("Center",text);
   // creaton de la barre de menus
   MenuBar barreMenu= new MenuBar();
   this.setMenuBar(barreMenu);
   Menu menuFichier= new Menu("Fichier");
   Quitter = new MenuItem("Quitter");
   Quitter.addActionListener(this);
   menuFichier.add(Quitter);
   barreMenu.add(menuFichier);
   // positionnement des composants graphiques 
   this.pack();
   // affichage de la fenetre
   this.setVisible(true);
  } 
  public Afficheur(FichierLecture fichier) throws IOException {
    super(fichier.getName());       
    FileInputStream canal=new FileInputStream(fichier);
    this.RemplitFenetre(canal,(int) fichier.length());
  } // Afficheur
  
  public Afficheur(URLConnection urlc) throws IOException {
    super(urlc.getURL().toExternalForm());       
    DataInputStream canal=new DataInputStream(urlc.getInputStream());
    this.RemplitFenetre(canal,(int) urlc.getContentLength());
  } // Afficheur
    
  public void actionPerformed (ActionEvent e) {
    if (e.getSource()==Quitter)
      {this.setVisible(false);
       this.dispose();
       System.exit(0);}
  } //actionPerformed 
}