如何在JEditorPane中添加锚标签可点击? (JAVA)

时间:2013-03-14 09:44:43

标签: java html swing url jeditorpane

我有以下代码将html添加到JEditorPane

        JEditorPane  content = new JEditorPane ();

        content.setEditable(false);
        content.setContentType( "text/html" );

        content.setText(resultText);

        JScrollPane bottomScrollPane = new JScrollPane(content);
        bottomScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        bottomScrollPane.setBorder(BorderFactory.createTitledBorder("Swing Rendered"));  

在此步骤之后,我已将JEditorPane实例“content”添加到JPanel实例中 能够完美地看到结果。但是,当我尝试单击显示的链接时,它无法正常工作。

如何使这些链接可以点击,它应该将用户重定向到浏览器中的特定网址?

的问候, 巴兰

1 个答案:

答案 0 :(得分:6)

您需要将HyperlinkListener添加到JEditorPane:

pane.addHyperlinkListener(new HyperlinkListener()
{
    public void hyperlinkUpdate(HyperlinkEvent r){
        try{
            if(r.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
            pane.setPage(r.getURL());
        }
        catch(Exception e){
        }
    }
 });

或者您可以在侦听器中执行任何其他操作...例如,在默认浏览器中打开链接:

您需要将HyperlinkListener添加到JEditorPane:

pane.addHyperlinkListener(new HyperlinkListener()
{
    public void hyperlinkUpdate(HyperlinkEvent r){
        try{
            if(r.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
            Desktop.getDesktop().browse(new URI(r.getURL().toURI()));
        }
        catch(Exception e){
        }
    }
 });