我在 swing 中使用 html 页面 JTextPane
在 JDialog 中。
在 html 中我有一个 <a href="mailto:email@adress.com">John</a>
当我通过资源管理器查看网页时,当鼠标转到链接时,我可以看到 mailto
.
当我点击链接时,我收到错误消息“未安装默认邮件客户端”,但我猜这是因为我的 PC 没有配置 Outlook 或其他一些程序。
当我从我的 Swing 应用程序打开 JDialog 时,我看到 John
突出显示为链接,但当我按下链接时没有任何反应。
我原以为会收到与浏览器相同的错误消息。
所以我的问题是链接是否可以通过 Swing 应用程序打开?
谢谢
最佳答案
工具提示(显示目标超链接地址)和按下时的操作都不会自动发生,您必须对其进行编码:首先,使用 ToolTipManager 注册 Pane ,对于后者,注册一个 HyperlinkListener,类似于:
final JEditorPane pane = new JEditorPane("http://swingx.java.net");
pane.setEditable(false);
ToolTipManager.sharedInstance().registerComponent(pane);
HyperlinkListener l = new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if (HyperlinkEvent.EventType.ACTIVATED == e.getEventType()) {
try {
pane.setPage(e.getURL());
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
};
pane.addHyperlinkListener(l);
该示例是关于在同一 Pane 中打开页面。如果你想激活默认的浏览器/邮件客户端,请让桌面(jdk1.6 的新手)为你做这件事
关于java - Swing JDialog/JTextPane 和 HTML 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291956/