在简单Java程序中从JButton打开URL?

在简单Java程序中从JButton打开URL?,java,swing,hyperlink,awt,jbutton,Java,Swing,Hyperlink,Awt,Jbutton,你好,社区:), 所以我是一个真正的java新手,对吗?我似乎无法从我的链接GUI中获取要打开的URL。目前,它只显示字段值 以下是我的handler.java代码: google = new JButton("Google"); google.setToolTipText("Open Google"); add(google); 我希望它打开一个URL,而不是显示字段值。这是我的actionlistener代码: private class HandlerClass implemen

你好,社区:), 所以我是一个真正的java新手,对吗?我似乎无法从我的链接GUI中获取要打开的URL。目前,它只显示字段值

以下是我的handler.java代码:

google = new JButton("Google");
google.setToolTipText("Open Google");
add(google);
我希望它打开一个URL,而不是显示字段值。这是我的actionlistener代码:

    private class HandlerClass implements ActionListener {

    public void actionPerformed(ActionEvent event) {

        JOptionPane.showMessageDialog(null, String.format("%s", event.getActionCommand()));

    }

}
如果可能的话,我能得到一些帮助吗?:)谢谢

请参阅

我收到一个错误,
无法从类型桌面对非静态方法浏览(URI)进行静态引用

不,当您尝试调用类上的实例方法时,会发生这种情况。您需要一个
桌面
对象

URI uri = new URI("http://google.com/");
Desktop dt = Desktop.getDesktop();
dt.browse(uri.toURL());

这可能对其他人有用。安德鲁·汤普森的答案几乎是正确的

try {

     String url ="http://www.stackoverflow.com";

     Desktop dt = Desktop.getDesktop();
     URI uri = new URI(url);
     dt.browse(uri.resolve(uri));


 } catch (URISyntaxException ex) {
     Logger.getLogger(Setting.class.getName()).log(Level.SEVERE, null, ex);
 } catch (IOException ex) {
     Logger.getLogger(Setting.class.getName()).log(Level.SEVERE, null, ex);
 }

上面的代码需要包含一个try-catch块,该块包括一个URISyntaxException和一个IOException。

uriurl=newuri(“http://google.com/"); 桌面浏览(url)
我收到一个错误,
无法从类型Desktop对非静态方法browse(URI)进行静态引用
检索系统的桌面对象:
public static Desktop getDesktop()
请阅读答案中链接的API。@Andrew Thompson,我使用了您的代码段,但现在它显示此错误:
方法browse(URI)在类型中,桌面不适用于参数(URL)
@andrewhompson这是在我不知道SO的礼仪时发生的。经过这么长时间,我已经接受了你的回答