在java中用浏览器打开的超链接?

时间:2012-12-31 11:30:52

标签: java swing hyperlink awt jbutton

有没有办法将ac.getPage()设置为点击时在broswer中打开的超链接? ac.getPage()会返回一个string,这是一个人的博客网址。我尝试附加以下java.awt.Desktop.getDesktop().browse(java.net.URI.create(ac.getPage())并且错误说void是不允许的?我怎么能纠正这个?

pageLabel.setText("Page:    " + ac.getPage());

1 个答案:

答案 0 :(得分:2)

您可以使用JTextPane而不是JLabel,

JTextPane pageLabel = new JTextPane();
pageLabel.setEditable(false);
pageLabel.setText("<html>Page: <a href='http://eo.wikipedia.org/'>vikipedio</a>"):
pageLabel.addHyperLinkListener(new HyperLinkListener() {
    @Override
    public hyperlinkUpdate(HyperlinkEvent event) {
        if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
            String url = event.getURL().toString();
            Desktop.getDesktop().browse(URI.create(url));
        }
    }
});