【问题标题】:JavaFX get browser width and heightJavaFX 获取浏览器宽度和高度
【发布时间】:2012-04-05 10:02:20
【问题描述】:

我是 JavaFX 的新手,我正在编写一个简单的登录应用程序,我想在我的网络浏览器中启动它。

如何获取网络浏览器的宽度和高度?是否有用于此目的的对象或我希望能够在浏览器大小更改时调整应用程序大小的方法。

非常感谢您的回答和帮助。 :)

【问题讨论】:

    标签: java layout javafx


    【解决方案1】:

    我在Oracle forum post 中回答了与此类似的问题。我会在这里重现答案。

    答案是在嵌入式应用程序上设置百分比高度和宽度。

    当用户改变浏览器大小时,是否可以动态改变舞台大小?

    是的,请参阅Ensemble sample application Ensemble source code 在 JavaFX 示例包中。

    部署工具包目前无法为您生成正确的 html 文件(请参阅RT-19247“javafxpackager -deploy 不接受百分比高度和宽度”)。

    但是,在部署工具运行后编辑 html 文件以进行所需的更改是微不足道的,如果您查看 ensemble 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>
    

    【讨论】:

    • 非常感谢 :) 我认为解决方案必须是 java 代码,但不能直接在浏览器代码中 :)
    猜你喜欢
    • 2012-06-15
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多