Announcement

Collapse
No announcement yet.

Surfen in JEditorPane

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Surfen in JEditorPane

    Hallo,

    ich hab versucht, in einem JEditorPane hinzubekommen, daß ich in der Dokumentation meiner Applikation surfen kann. Das haut aber nicht hin. Ich kann das Ding zwar darstellen, doch das Surfen klappt nicht. Der Quelltext dazu ist schon recht lang. Hier ist er, vielleicht kann mir hier jemand weiterhelfen:...
    <pre>
    class HTML_Dialog extends JFrame implements HyperlinkListener {
    public HTML_Dialog(String pfad) {
    JEditorPane editorPane = createEditorPane(pfad);
    editorPane.setEditable(false);
    getContentPane().add(editorPane);

    // Fenster in Bildschirmmitte positionieren
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    setLocation( (d.width/2 - getSize().width/2), (d.height/2- getSize().height/2) );

    setBounds(10, 10, d.width-20, d.height-40);
    }

    private JEditorPane createEditorPane(String pfad) {
    getContentPane().setEditable(false);
    JEditorPane editorPane = new JEditorPane();
    editorPane.setEditable(false);
    String s = null;
    try {
    s = "file:"
    + System.getProperty("user.dir")
    + System.getProperty("file.separator")
    + pfad;
    URL helpURL = new URL(s);
    displayURL(helpURL, editorPane);
    } catch (Exception e) {
    System.out.println("Couldn't create help URL: " + s);
    }
    return editorPane;
    }


    private void displayURL(URL url, JEditorPane editorPane) {
    editorPane.setEditable(false);
    try {
    editorPane.setPage(url);
    } catch (IOException e) {
    System.err.println("Attempted to read a bad URL: " + url);
    }
    }


    public void hyperlinkUpdate(HyperlinkEvent e) {
    if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
    JEditorPane pane = (JEditorPane) e.getSource();
    pane.setEditable(false);
    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();
    }
    }
    }
    }

    }
    </pre>

    Die Methode hyperlinkUpdate hab ich aus dem API zum JEditorPane, doch die bewirkt auch nichts.

    Ich wäre extrem denkbar, wenn mir jemand weiterhelfen könnte.<br>
    Grüße,
    Andreas<br>

  • #2
    fuege in createEditorPane noch addHyperlinkListener(this) ein - damit aktivierst Du den fertig implementierten Listener.<p>
    Gruss, Marc

    Comment


    • #3
      Oh, shit, peinlicher Fehler.
      Danke. Jetzt funkt's

      Comment

      Working...
      X