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

私は解決策がJavaコードであることが必要だと思っていましたが、ブラウザのコードに直接入っている可能性があります:) – Reshi

関連する問題