2012-04-05 114 views
1

我是JavaFX的新手,我正在編寫一個簡單的登錄應用程序,我想在我的Web瀏覽器中啓動。JavaFX獲取瀏覽器寬度和高度

我怎樣才能獲得網頁瀏覽器的寬度和高度?有沒有爲此目的的某個對象,或者我希望在瀏覽器的大小發生變化時能夠調整應用程序的大小的方法。

非常感謝您的回答和幫助。 :)

回答

2

我在Oracle forum post回答了類似的問題。我會在這裏重現答案。

答案是在嵌入式應用程序上設置百分比高度和寬度。

當用戶更改瀏覽器的大小時,是否可以動態更改舞臺大小?

是的,看到JavaFX的樣本包Ensemble sample application Ensemble source code

部署工具包當前無法爲您生成正確的html文件(請參見RT-19247「javafxpackager -deploy不接受百分比高度和寬度」)。

但是,編輯html文件以在部署工具運行後進行必要的更改很簡單,如果您查看集成ant構建腳本,則可以看到這些更改也可以在ant中自動執行。

以下是Ensemble示例應用程序的摘錄,演示瞭如何完成此操作。

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JavaFX 2.0 - Ensemble</title> 
    <SCRIPT src="http://java.com/js/dtjava.js"></SCRIPT> 
    <script> 
    function javafxEmbed_ensemble() { 
     dtjava.embed(
     { 
      id : 'ensemble', 
      url : 'Ensemble.jnlp', 
      placeholder : 'javafx-app-placeholder', 
      width : '100%', 
      height : '100%', 
      jnlp_content : 'PD94b...o8L2pubHA+DQo=' 
     }, 
     { 
      javafx : '2.0+' 
     }, 
     {} 
     ); 
    } 
    <!-- Embed FX application into web page once page is loaded --> 
    dtjava.addOnloadCallback(javafxEmbed_ensemble); 
    </script> 
    <style> 
    html, body, #javafx-app-placeholder, #ensemble-app { 
     margin: 0; 
     overflow: hidden; 
     padding: 0; 
     width: 100%; 
     height: 100%; 
    } 
    </style> 
</head> 
<body><div id="javafx-app-placeholder"></div></body> 
</html> 
+0

非常感謝:)我認爲解決方案必須inisde java代碼,但不是它可以直接在瀏覽器的代碼:) – Reshi 2012-04-06 09:16:54

相關問題