如何在Java中使用Desktop对象打开URL?

时间:2013-10-15 07:01:55

标签: java url desktop

我有一个按钮可以在浏览器中打开一个URL:

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

但我在最后一句话中得到以下错误:

The method browse(URI) in the type Desktop is not applicable for the arguments (URL)

感谢任何建议。

3 个答案:

答案 0 :(得分:2)

找到解决方案:
1.删​​除 .toURL()
2.使用尝试捕获

try
{
    URI uri = new URI("http://google.com/");
    Desktop dt = Desktop.getDesktop();
    dt.browse(uri);
}
catch(Exception ex){}

答案 1 :(得分:1)

它告诉您的是,您在发送URL对象时需要URI。

只需更改

dt.browse(uri.toURL()); // has error

dt.browse(uri); // has error

在能够使用Desktop之前,您必须考虑是否支持

if (Desktop.isDesktopSupported()) {
        desktop = Desktop.getDesktop();
        // now enable buttons for actions that are supported.
        enableSupportedActions();
}

和enableSupportedActions

private void enableSupportedActions() {
    if (desktop.isSupported(Desktop.Action.BROWSE)) {
        txtBrowserURI.setEnabled(true);
        btnLaunchBrowser.setEnabled(true);
    }
}

表示您还必须检查是否还支持BROWSE操作。

答案 2 :(得分:1)

使用像这样的东西

try {Desktop.getDesktop().browse(new URI("http://www.google.com"));
} catch (Exception e) 
{JOptionPane.showMessageDialog(null,e);}
}