2012-04-05 101 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