/* * InterpretedWebPane.java * * Created on den 30 augusti 2001, 16:55 */ package ip1.u2; import java.io.IOException; import javax.swing.JEditorPane; import javax.swing.event.*; import javax.swing.text.html.*; public class InterpretedWebPane extends WebPane { // Skapar en ny InterpretedWebPane public InterpretedWebPane() { } // bestämmer i vilken typ av textkomponent innehållet skall visas protected void initTeatArea() { content = new JEditorPane(); content.setEditable(false); // content prenumererar på HyperlinkEvents ((JEditorPane) content).addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { JEditorPane pane = (JEditorPane) e.getSource(); // HyperlinkEvents i en ram hanteras speciellt if (e instanceof HTMLFrameHyperlinkEvent) { HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent)e; HTMLDocument doc = (HTMLDocument)pane.getDocument(); doc.processHTMLFrameHyperlinkEvent(evt); } else { try { pane.setPage(e.getURL()); } catch (Throwable t) { t.printStackTrace(); } } } } }); } // Sätter sidan som skall visas till urlString protected void addContent(String urlString) { try { ((JEditorPane) content).setPage(urlString); } catch (IOException e) { content.setText(e.getMessage()); } } }