私はJavaFXを初めて使い、Webブラウザで起動したい簡単なログインアプリケーションを作成しています。JavaFXブラウザの幅と高さを取得
ウェブブラウザの幅と高さを取得するにはどうすればよいですか?この目的のためのオブジェクトや、ブラウザのサイズが変更されたときにアプリケーションのサイズを変更できるメソッドがありますか?
ご回答いただきありがとうございます。 :)
私はJavaFXを初めて使い、Webブラウザで起動したい簡単なログインアプリケーションを作成しています。JavaFXブラウザの幅と高さを取得
ウェブブラウザの幅と高さを取得するにはどうすればよいですか?この目的のためのオブジェクトや、ブラウザのサイズが変更されたときにアプリケーションのサイズを変更できるメソッドがありますか?
ご回答いただきありがとうございます。 :)
私は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>
私は解決策がJavaコードであることが必要だと思っていましたが、ブラウザのコードに直接入っている可能性があります:) – Reshi