使用
replaceSelection()上的
HTMLdocument插入件的原始字符串; 您
要插入HTML锚标记。您可以,
自己管理原始HTML文本,如下所示,然后
setText()进行解析。
使用现有的
HTMLEditorKit嵌套操作之一。
使用此处显示的自定义方法之一。
import java.awt.Desktop;import java.awt.HeadlessException;import javax.swing.JEditorPane;import javax.swing.Jframe;import javax.swing.SwingUtilities;import javax.swing.event.HyperlinkEvent;import javax.swing.event.HyperlinkListener;public class Test { public static void main(String[] argv) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { display(); } }); } private static String create(int i) { StringBuilder sb = new StringBuilder(); sb.append("Welcome to <a href="); sb.append("'http://www.example.com'>Example "); sb.append(i); sb.append("</a>.<br>"); return sb.toString(); } private static void display() throws HeadlessException { JEditorPane jep = new JEditorPane(); jep.setContentType("text/html"); StringBuilder sb = new StringBuilder(); sb.append("<b>Welcome</b>:<br><hr>"); for (int i = 1; i <= 3; i++) { sb.append(create(i)); } sb.append("<hr>"); jep.setText(sb.toString()); jep.setEditable(false); jep.addHyperlinkListener(new HyperlinkListener() { @Override public void hyperlinkUpdate(HyperlinkEvent e) { if (HyperlinkEvent.EventType.ACTIVATED.equals(e.getEventType())) { System.out.println(e.getURL()); Desktop desktop = Desktop.getDesktop(); try { desktop.browse(e.getURL().toURI()); } catch (Exception ex) { ex.printStackTrace(); } } } }); Jframe f = new Jframe("HyperlinkListener"); f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); f.add(jep); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); }}


