我需要使用 Java Swing 创建一个可单击的标签,并且能够打开桌面上的默认浏览器并将其重定向到特定的 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?
很简单,只需使用正确的参数将此方法复制到您的代码中即可。不要忘记添加所需的导入。
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
private void goWebsite(JLabel website, final String url, String text) {
website.setText("<html> Website : <a href=\"\">"+text+"</a></html>");
website.setCursor(new Cursor(Cursor.HAND_CURSOR));
website.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
try {
Desktop.getDesktop().browse(new URI(url));
} catch (URISyntaxException | IOException ex) {
//It looks like there's a problem
}
}
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)