/* * BrowserThread * * Version 1.0 * * 20061005 * * Author: Jenny Nordgren */ /** * BrowserThread hämtar hem innehåll från en URL och visar i browserns dokument-yta. */ import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.event.HyperlinkListener; import javax.swing.event.HyperlinkEvent; import java.net.*; import java.io.*; public class BrowserThread implements Runnable { private Thread t = new Thread(this); private JEditorPane documentArea; private String address = ""; private JLabel messageLabel; private URL myURL; private JTextField addressField; private Boolean hyperlink = false; public BrowserThread(JEditorPane da, JLabel ml, URL a) { documentArea = da; myURL = a; messageLabel = ml; t.start(); } public BrowserThread(JEditorPane da, JLabel ml, URL a, JTextField ad) { documentArea = da; messageLabel = ml; myURL = a; addressField = ad; hyperlink = true; t.start(); } public void run() { Runnable updatePage = new Runnable() { public void run() { try { documentArea.setPage(myURL); if(hyperlink) { addressField.setText(myURL.toString()); addressField.setCaretPosition(0); } } catch (IOException ioe) { Runnable updateLabel = new Runnable() { public void run() {messageLabel.setText("Sidan du vill se kunde inte hittas! Prova med en annan adress!"); messageLabel.setVisible(true); } }; SwingUtilities.invokeLater(updateLabel); } } }; SwingUtilities.invokeLater(updatePage); } }