Link in JEditorPane

Status
Nicht offen für weitere Antworten.

Scheng

Mitglied
Hallo

ich möchte in einem JEditorPane mit einem HyperlinkListener Links abfragen.
Das Problem ist das der Link nicht funktioniert. Er wir zwar korrekt dargestellt (unterstrichen und blau) aber es ändert sich weder der Mauszeiger, noch kommt ein Event beim Listener, wenn ich drauf klicke. Die Links erzeuge ich so:
Code:
JEditorPane jep = new JEditorPane();
jep.setContentType("text/html; charset=EUC-JP"); 
jep.setText("<a href=\"URL\">Text</a>");
jep.addHyperlinkListener(this);
Statt URL und Text stehen da natürlich konkrete sachen. Die Methode hyperlinkUpdate(HyperlinkEvent e) ist in der Klasse enthalten.
Woran könnte das liegen?
 
... poste doch bitte mal den code von deinem listener... ist relativ schwierig, auf dieser basis eine kluge antwort zu geben 🙂
 
Der Listener sieht bis jetzt so aus:
Code:
public void hyperlinkUpdate(HyperlinkEvent e){
        URL u = e.getURL();
        System.out.println(u.toString());
}
Ich möchte zunächst nur erstmal testen, wie das grundsätzlich geht, bevor ich die Links weiterverarbeite.
Wenn ich den Link in ein html-Dokument kopiere (und die '\'-Zeichen vor den Anführungsstrichen entferne) funktioniert er übrigens.
 
Some kinds of content may provide hyperlink support by generating hyperlink events. The HTML EditorKit will generate hyperlink events if the JEditorPane is not editable (JEditorPane.setEditable(false); has been called).
 
Hallo,

ich habe ein ähnliches Problem bei den internen Links (#LinkZurXY). Bei mir ist die URL allerdings aus unerklärlichen Gründen immer null, was zur Exception führt.
Ich habe eine HTMLArea der von JEditorPane erbt. Die HTML Seite, die ich anzeige funktioniert im Browser ganz normal nur in meiner Applikation nicht. Hier mal Code schnipsel. Wie gesagt unterscheidet sich von oberen eigentlich nicht:
Code:
...
            String hyperlinkDescription = h_event.getDescription();
...
            else if(hyperlinkDescription.startsWith("#")) {
            	HTMLArea pane = (HTMLArea) h_event.getSource();
                if (h_event instanceof HTMLFrameHyperlinkEvent) {
                    HTMLFrameHyperlinkEvent  evt = (HTMLFrameHyperlinkEvent)h_event;
                    HTMLDocument doc = (HTMLDocument)pane.getDocument();
                    doc.processHTMLFrameHyperlinkEvent(evt);
                } else {
                    try {
                        pane.setPage(hyperlinkDescription);
                    } catch (Throwable t) {
                        t.printStackTrace();
                    }
                } 
            }
...
Woran kann es liegen dass URL null ist? Vielen Dank für eure Hilfe.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben