2011-10-02 275 views
3

我用下面的代碼來啓動一個網頁在默認系統瀏覽器:Java桌面瀏覽器彈出窗口

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

java.awt.Desktop.getDesktop().browse(java.net.URI.create(url)); 

不過,我要顯示在給定大小的彈出瀏覽器窗口中我的網頁(與,高度),就像我們可以在Window對象中使用JavaScript一樣。

有沒有辦法從java控制默認瀏覽器,並要求它打開一個給定大小的彈出窗口?

+0

可能重複http://stackoverflow.com/questions/4334999/position-and-size-of-window-whith-desktop-java-class ) –

回答

1

有這樣好的項目http://browserlaunch2.sourceforge.net/

你調用一個新的瀏覽器窗口,如下圖所示。但它可能不提供設置窗口高度和寬度的選項。

BrowserLauncher browser =new BrowserLauncher(); 
       browser.setNewWindowPolicy(true); 
       browser.openURLinBrowser(url); 
[位置和窗口的大小蒙山桌面Java類](的
1

在純Java中沒有辦法做到這一點。

如果你真的需要這樣做,你需要一些方法來找出用戶的默認瀏覽器是什麼。然後啓動您需要使用System.exec啓動瀏覽器實例,並提供相應的命令行參數。

+0

有一個名爲BareBonesBrowser的Java類的舊版本,它嘗試檢測用戶使用哪個瀏覽器並使用系統命令行激活它。你知道網絡上的任何Java類嗎? – othman

3

有兩種方法我能想到的解決這個問題:

  1. ,而不是直接到目標URL,打開像http://our.com/bouce.html?url=google.com&w=400&h=300中間URL然後bounce.html使用JavaScript來打開URL @寬x H。
  2. 使用JEditorPane。大多數惡意的編輯器窗格對於真實世界的瀏覽來說並不理想,但可以處理各種網站,並且隨着每個發行版(大部分時間,無論如何)都在改進。
+0

我不認爲JEditorpane足夠滿足我的需求。我嘗試了一些像SWT這樣的嵌入式瀏覽器,但是我在Linux上遇到了SWT問題,並且您知道SWT不是平臺獨立的。我也嘗試lobo swing瀏覽器,但它無法爲我工作。對於我來說,我選擇使用默認系統瀏覽器變得非常靈活;但我還想打開瀏覽器彈出窗口,以獲得更好的用戶體驗。 – othman

+0

*「我不認爲JEditorpane足夠滿足我的需求。」*停止思考和**測試**。 *「但我還想打開一個瀏覽器彈出窗口」*所以使用技巧1. –

+0

我測試了JEditorPane:它不適合我! – othman

相關問題