私はJavaFXを初めて使用し、Webブラウザで起動したい簡単なログインアプリケーションを作成しています。
Webブラウザの幅と高さを取得するにはどうすればよいですか?この目的のためのオブジェクトや、ブラウザのサイズが変更されたときにアプリケーションのサイズを変更できるようにしたいメソッドはありますか。
ご回答とご協力をありがとうございました。:)
Oracleフォーラムの投稿でこれと同様の質問に答えました。ここで答えを再現します。
答えは、組み込みアプリケーションにパーセンテージの高さと幅を設定することです。
ユーザーがブラウザのサイズを変更したときに、ステージサイズを動的に変更することは可能ですか?
はい、JavaFXサンプルパッケージのEnsembleサンプルアプリケーション Ensembleソースコードを参照してください。
デプロイメントツールキットは現在、正しい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>