/**Class Browser is a simple Java Browser *for retrieving information without interpreting it. *Internet Programming 1 - Course *@author Martin Carlsson */ import javax.swing.*; import java.awt.*; import java.net.*; import java.io.*; import java.awt.event.*; public class Browser extends JFrame { private JTextField urlField; private String oldTextArea, defaultUrl = "http://www.dsv.su.se/~pierre/"; private JButton jb; private JTextArea textArea ; Browser() { super("Java Web browser"); // North panel Container con = getContentPane(); JPanel up = new JPanel(); up.setLayout(new FlowLayout(FlowLayout.CENTER)); up.setBackground(Color.lightGray); up.add(urlField = new JTextField(55)); urlField.setText(defaultUrl); urlField.requestFocus(); urlField.addActionListener(new EnterButtonListener()); // Adds a listener for the text field up.add(jb = new JButton("Get url")); jb.addActionListener(new EnterButtonListener()); // Listener for the button con.add(up, BorderLayout.NORTH); // Middle text area textArea=new JTextArea(); JScrollPane jsp=new JScrollPane(textArea); con.add(jsp,BorderLayout.CENTER); setDefaultCloseOperation( EXIT_ON_CLOSE ); // Size of the frame setSize(800,600); show(); // retrieving information from wherever the defaultURL points to try { URL u = new URL(urlField.getText()); InputStream in = u.openStream(); in = new BufferedInputStream(in); Reader r = new InputStreamReader(in); int c; while((c = r.read()) != -1) textArea.setText(textArea.getText() + (char)c); } catch(Exception e){ textArea.setText(textArea.getText()+e+" (something wrong with either your"+ " Internet connection or the address you're trying to look up!)"); } } // Called at each actionEvent to empty the text area public void clearTextArea() { textArea.setText(" "); } // Listener class that listens to when users press "GET URL" or "Enter" class EnterButtonListener implements ActionListener { public void actionPerformed(ActionEvent ae) { try { clearTextArea(); URL u = new URL(urlField.getText()); InputStream in = u.openStream(); in = new BufferedInputStream(in); Reader r = new InputStreamReader(in); int c; while((c = r.read()) != -1) textArea.setText(textArea.getText() + (char)c); } catch(UnknownHostException uHe){ textArea.setText(textArea.getText() + uHe); } catch(MalformedURLException mUe){ textArea.setText(textArea.getText() + mUe); } catch(IOException iE){ textArea.setText(textArea.getText() + iE); } } } // End EnterButtonListenerklassen //Main public static void main(String[] args) throws IOException { new Browser(); } }//End Browserklassen