質問

ステージの初期の高さと幅が次のように定義された JavaFX アプレットがあります。

var stage:Stage = Stage {
    title: "Blah"
    scene: Scene {
        height: 768
        width: 1024
        fill: Color.WHITE
...

さらに、レイアウト目的で高さと幅にバインドされた要素をシーン内にレイアウトしています。すべてデスクトッププログラムとして正常に動作します。

ただし、次のコードを使用してアプレットとして HTML ページに埋め込むと、アプレットのサイズは適切になりますが、十分なスペースがあるにもかかわらず、シーンの幅と高さのプロパティが 0 に設定されます。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Lol</title>
</head>
<body>
<h1>Lol</h1>
<script src="http://dl.javafx.com/1.2/dtfx.js"></script>
<div style="border:1px solid black">
<script>
    javafx(
        {
              archive: "Lol.jar",
              draggable: true,
              width: 1024,
              height: 768,
              code: "lol.Main",
              name: "Lol"
        }
    );
</script>
</div>
</body>
</html>

たとえば、次のような式が挙げられます。 {stage.width.toString()} と評価される 0.0. 。どうしたの?FX コード内でアプレットの実際の高さと幅を取得するにはどうすればよいですか?

役に立ちましたか?

解決

はぁ...

これをすぐに修正しました...どうやら使っているようです stage.width デスクトップモードでのみ動作しますが、 stage.scene.width アプレットとデスクトップアプリの両方で動作します...少なくとも私の場合は。将来の JavaFX 開発者のためにここに残しておきます。彼らの心を祝福してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top