// Bu program  JEditorPane kullanarak
// bir Web sayfasını ekranda göstermektedir.
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import HTTP;

public class InternetDosyaOku1 extends JFrame {
   private JTextField gir;
   private JEditorPane contents;
   private JTextArea cikti;
   public InternetDosyaOku1()
   {
      super( "Java Programlama Dili WEB browser" );
      Container c = getContentPane();
      JTabbedPane tp = new JTabbedPane();
      JPanel p1=new JPanel();
      JPanel p2=new JPanel();
      gir = new JTextField( "http://www.mam.gov.tr//~turhan//index.html");
      gir.addActionListener(
         new ActionListener() {
            public void actionPerformed( ActionEvent e )
            {
               getThePage( e.getActionCommand() );
            }
         }
      );
      p2.add( gir, BorderLayout.NORTH );
      cikti=new JTextArea();
      cikti.setBackground(c.getBackground());
      cikti.setEditable(false);
      p2.add(new JScrollPane( cikti ),BorderLayout.NORTH);
      contents = new JEditorPane();
      contents.setEditable( false );
      contents.addHyperlinkListener(
         new HyperlinkListener() {
            public void hyperlinkUpdate( HyperlinkEvent e )
            {
               if ( e.getEventType() ==
                    HyperlinkEvent.EventType.ACTIVATED )
                    getThePage( e.getURL().toString() );
            }
         }
      );
      p1.add(new JScrollPane( contents ));
      tp.addTab("internet görüntüsü",         p1);
      tp.addTab("html çıktısı      ",         p2);
      c.add(new JScrollPane(tp),BorderLayout.CENTER );
      setSize( 400, 300 );
      show();
   }

   private void getThePage( String adres )
   {
      setCursor( Cursor.getPredefinedCursor(
                    Cursor.WAIT_CURSOR ) );
         String dosya="";
         String adres1=adres.substring(7);
      try {
        contents.setPage(adres);
        gir.setText(adres);
        int slashpos=adres1.indexOf('/');
              if(slashpos<0)
              {
              adres1=adres1+"/index.html";
              slashpos=adres1.indexOf('/');
              }
         dosya=adres1.substring(slashpos);
         adres1=adres1.substring(0,slashpos);
         HTTP webConnection = new HTTP(adres1);
            if (webConnection != null)
            {
            BufferedReader in = webConnection.get(dosya);
            String line;
            String s="";
               while ((line = in.readLine()) != null)
               {
               s+=line+"\n";
               }
            cikti.setText(s);
            in.close();
            }
            } catch ( IOException io )
           {
           String s1="*"+adres1+"\\"+dosya+"internet URL adresine erisilemedi";
           JOptionPane.showMessageDialog( null,s1,"URL adresinde hata var",
           JOptionPane.ERROR_MESSAGE );
           }
      setCursor( Cursor.getPredefinedCursor(
                    Cursor.DEFAULT_CURSOR ) );
   }

   public static void main( String args[] )
   {
      InternetDosyaOku1 dosya = new InternetDosyaOku1();

      dosya.addWindowListener(
         new WindowAdapter() {
            public void windowClosing( WindowEvent e )
            {System.exit( 0 );}
                              });
   }
}
