【发布时间】:2012-01-29 23:01:33
【问题描述】:
我需要使用 Java Swing 创建一个可单击的标签,并且能够在桌面上打开默认浏览器并将其重定向到特定的 url。我的代码能够打开浏览器,但不能将其重定向到正确的 url(已加载默认主页)。我的测试代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.*;
public class LinkTest extends JFrame {
public LinkTest() {
JPanel p = new JPanel();
JLabel link = new JLabel("Click here");
link.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
link.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() > 0) {
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
try {
URI uri = new URI("http://www.bbc.co.uk");
desktop.browse(uri);
} catch (IOException ex) {
ex.printStackTrace();
} catch (URISyntaxException ex) {
ex.printStackTrace();
}
}
}
}
});
p.add(link);
getContentPane().add(BorderLayout.NORTH, p);
}
public static void main(String[] args) {
LinkTest linkTest = new LinkTest();
linkTest.setSize(640,100);
linkTest.show();
}
}
如何使用 Java Swing 打开默认浏览器并重定向到正确的 URL?
【问题讨论】:
-
什么操作系统和浏览器?有什么例外吗?
-
它在 Win 7 上运行,使用最新模型 1.6 JRE & FF 作为默认浏览器。
-
对不起,我忘了提到操作系统/浏览器:Ubuntu 11.10 + Chrome 16 + Java 6
-
也为我工作(Windows 7 64 位 + Firefox 8 + JRE 6)。我也对这个东西很感兴趣,所以我也想尝试让它在任何地方都能工作。
标签: java swing browser hyperlink jlabel