单击JEditorPane中的<a>标记后如何更改页面?

时间:2019-06-18 19:34:18

标签: java html swing jframe jeditorpane

我在HTML页面上有一个带有不同网站的href的“ a”元素。当前,当我单击JEditorPane中显示的页面上的a元素时,JEditorpane的站点不会更改站点。它不会重定向到href的位置。在将重定向页面显示在JEditorPane中的同时,我该如何解决?谢谢!

该网站的相关代码为:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<a href="https://reddit.com"><img src="cat.jpeg" width="300" height="300" /></a>
</body>
</html>

JFrame和JEditorPane的代码是:

public class Gui 
{
    JFrame frame = new JFrame();
    JEditorPane htmlContent = new JEditorPane();

    public void loadScreen() throws MalformedURLException, IOException 
    {
        frame.setUndecorated(true);
        frame.setOpacity(1.0F);
        htmlContent.setEditable(false);
        htmlContent.setPage(new URL("RANDOM SITE"));
        frame.add(new JScrollPane(htmlContent));
        frame.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:0)

如果要使JEditorPane中显示的链接在单击鼠标时在窗格中加载新页面,则需要添加一个侦听器,如下所示:

htmlContent.addHyperlinkListener(e->{
    if ( e.getEventType () == HyperlinkEvent.EventType.ACTIVATED ) {
        URL url = e.getURL ();
        // fetch the new page from the URL and load it into the JEditorPane
    }
});