package untrusted1;

import java.applet.Applet;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * @author  Ralf Kunze (rkunze@uos.de), Institut fuer Informatik, Universitaet Osnabrueck
 * @date 22.06.2007
 */
@SuppressWarnings("serial")
public class UntrustedApplet extends Applet {
    
    public void init() {
        add(createGUI());
    }
    
    public Panel createGUI() {
        Panel panel = new Panel();
        
        final TextArea resultTA = new TextArea();
        resultTA.setColumns(40);
        resultTA.setRows(20);
        panel.add(resultTA);

        final TextField dateiTF = new TextField("C:\\TESTDATEI.txt");
        panel.add(dateiTF);
        
        Button loadBTO = new Button("Load");
        loadBTO.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    BufferedReader br = new BufferedReader(new FileReader(dateiTF.getText()));
                    String line;
                    
                    while((line = br.readLine()) != null) {
                        resultTA.insert(line+"\n", resultTA.getText().length());
                    }
                } catch (FileNotFoundException e1) {
                    resultTA.setText("Datei nicht gefunden");
                } catch (IOException e2) {
                    resultTA.setText("Kann aus Datei nicht lesen");
                }  
            }
        });
        
        panel.add(loadBTO);
        return panel;
    }

    public static void main(String[] args) {
        Frame f = new Frame("Datei Lesetest");
        f.add(new UntrustedApplet().createGUI());
        
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        
        f.pack();
        f.setVisible(true);
    }
}
