import java.awt.FlowLayout; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; import javax.swing.*; public class Ikkuna extends Frame implements ActionListener { private Frame akkuna; private TextField osoite; private Button hae; private JEditorPane paneeli; private JScrollPane scrolli; private JEditorPane tulospaneeli; private JScrollPane tulosscrolli; //private Radio tasot; public Ikkuna() { akkuna = new Frame("Linkkietsin - Demo"); akkuna.setSize(800,600); akkuna.setResizable(true); Panel nakyma = new Panel(); nakyma.setLayout(new BorderLayout()); akkuna.addWindowListener(new SuljeIkkuna()); //akkuna.add(new Label("Anna URL")); osoite = new TextField("http://", 10); osoite.setEditable(true); osoite.addActionListener(this); akkuna.add(osoite, BorderLayout.NORTH); /*hae = new Button("Hae"); hae.setSize(10,10);*/ /*akkuna.add(hae, BorderLayout.EAST);*/ akkuna.setVisible(true); /* tasot = new CheckboxGroup(); akkuna.add (new Checkbox("1", tasot, true), BorderLayout.WEST); akkuna.add (new Checkbox("2", tasot, false), BorderLayout.WEST); akkuna.add (new Checkbox("3", tasot, false), BorderLayout.WEST); akkuna.add (new Checkbox("4", tasot, false), BorderLayout.WEST); */ try { URL urli = new URL("http://www.valt.helsinki.fi/staff/terkkila/ohjelmo/help.htm"); // Ensin luodaan URL-olio, sitten URLConnection yhteys = null; tulospaneeli = new JEditorPane("text/html", ""); tulospaneeli.setEditable(false); tulosscrolli = new JScrollPane(tulospaneeli); tulospaneeli.setText("

Tulokset

"); akkuna.add(tulosscrolli, BorderLayout.WEST); akkuna.repaint(); yhteys = urli.openConnection(); // URLConnection-olio // Lopuksi yhdistetään löydetty tietokone ja sen HTML-tiedosto tavuvirtaan, // josta voidaan lukea paneeli = new JEditorPane(urli); paneeli.setContentType("text/html"); paneeli.setEditable(false); paneeli.setPage(urli); paneeli.isVisible(); scrolli = new JScrollPane(paneeli); akkuna.add(scrolli, BorderLayout.CENTER); // scrolli.setVerticalScrollBar(new JScrollBar()); scrolli.isVisible(); akkuna.repaint(); } catch(FileNotFoundException e) { tulospaneeli.setText("ERROR: "+e); } catch(MalformedURLException e) { tulospaneeli.setText("ERROR: "+e); } catch(UnknownHostException e) { tulospaneeli.setText("ERROR: "+e); } catch(NoRouteToHostException e) { tulospaneeli.setText("ERROR: "+e); } catch(ConnectException e) { tulospaneeli.setText("ERROR: "+e); } catch(IOException e) { tulospaneeli.setText("ERROR: "+e); System.exit(-1); } } class SuljeIkkuna extends WindowAdapter { public void windowClosing(WindowEvent tapahtuma) { System.exit(0); // sovelluksen lopetus! } public void windowClosed(WindowEvent tapahtuma) { System.exit(0); // sovelluksen lopetus! } } public void actionPerformed(ActionEvent event) { String urli; Object aiheuttaja = event.getSource(); if (aiheuttaja == osoite) { urli = osoite.getText(); if (urli!=null) { try { HTMLSivu koe = new HTMLSivu(urli, 0); tulospaneeli.setText(koe.LueURL()); paneeli.setPage(urli); akkuna.repaint(); } catch (Exception e) { tulospaneeli.setText("ERROR: "+e); } } } } public void AnnaTeksti(String rivi) { tulospaneeli.setText(rivi); } }