我有以下代码将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实例中 能够完美地看到结果。但是,当我尝试单击显示的链接时,它无法正常工作。
如何使这些链接可以点击,它应该将用户重定向到浏览器中的特定网址?
的问候, 巴兰
答案 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){
}
}
});