2013-10-15 50 views
0

我有一個按鈕,在瀏覽器中打開一個URL:如何通過Java中的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) 

感謝您的任何建議。

回答

0

找到解決方案:
1.刪除.toURL()
2.使用嘗試捕捉

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

避免這樣的空捕獲塊。這是無法跟蹤的無聲錯誤的原因。 –

0

它告訴你的是,你需要發送一個URL對象,而它需要一個URI。

只是改變

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

dt.browse(uri); // has error 

能夠使用桌面之前,你必須考慮它是否支持

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操作也受支持,您還必須檢查。

+0

這沒有奏效 –

+0

更新我的回覆 – RamonBoza

0

使用一些這樣的事

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