package gui.browser;
import javax.swing.*;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLFrameHyperlinkEvent;
public class BrowserListener
implements HyperlinkListener {
BrowserLogic bl;
JTextField tf;
public BrowserListener(BrowserLogic _bl, JTextField _tf) {
bl = _bl;
tf = _tf;
}
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() ==
HyperlinkEvent.EventType.ACTIVATED) {
processActivated(e);
}
}
private void processActivated(HyperlinkEvent e) {
JEditorPane jep =
(JEditorPane) e.getSource();
if (e instanceof HTMLFrameHyperlinkEvent)
processHyperLinkEvent(e, jep);
else {
bl.hyperlinkPage(jep, e, tf);
}
}
private void setPage(JEditorPane jep,
HyperlinkEvent e) {
new ThreadedLoad(jep, e.getURL());
}
private void processHyperLinkEvent(
HyperlinkEvent e, JEditorPane pane) {
HTMLFrameHyperlinkEvent hle = (HTMLFrameHyperlinkEvent) e;
HTMLDocument htmlDoc = (HTMLDocument) pane.getDocument();
htmlDoc.processHTMLFrameHyperlinkEvent(hle);
}
}