09. november 2002 - 16:45Der er
3 kommentarer og 1 løsning
html i JEditorPane
jeg læser en html side ind i en JEditorPane, det går fint men jeg kan ikke få det til at virke hvis den side der læses ind er et frameset..... kan man det ???
det er ikke lige det.... her kommer lidt af det jeg har lavet: import javax.swing.*; import java.awt.*; import java.net.URL; import java.net.MalformedURLException; import java.io.*; import javax.swing.text.*; import javax.swing.event.*; class Html_Panel extends JScrollPane implements HyperlinkListener { private JEditorPane html; private File f; public Html_Panel(String filename) { try { f = new File (filename); String s = f.getAbsolutePath(); s = "file:"+s; URL url = new URL(s); html = new JEditorPane(s); html.setEditable(false); html.addHyperlinkListener(this); JViewport vp = getViewport(); vp.add(html); } catch (MalformedURLException e) { System.out.println("Malformed URL: " + e); } catch (IOException e) { System.out.println("IOException: " + e); } }
public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { linkActivated(e.getURL()); }
Her er lidt kode jeg bruger for at få frames til at virke i JEditorPane:
public void hyperlinkUpdate( HyperlinkEvent e ) { HyperlinkEvent.EventType type = e.getEventType(); if ( type == HyperlinkEvent.EventType.ACTIVATED ) { JEditorPane pane = (JEditorPane)e.getSource(); if ( e instanceof HTMLFrameHyperlinkEvent ) { // SE HER! HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent)e; HTMLDocument doc = (HTMLDocument)pane.getDocument(); doc.processHTMLFrameHyperlinkEvent( evt ); } // if else { // Det er et normalt link der er trykket på } // else } // her har du de øvrige metoder i hyperlinklisteneren
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.