質問

 var width = 400;
 var height = 400;

Stage {
    style: StageStyle.TRANSPARENT

    onClose: function():Void {
       System.exit(0);
    }

    scene: Scene {
        content: Scribble {}
        width: width
        height: bind height
    }
}

なぜ幅の作業を行いますが、高さではありませんか? そして、私はこれを修正するために何ができるのでしょうか? NetBeansは言ってます:

  

高さがjavafx.scene.Sceneでスクリプトのみ(デフォルト)バインドのアクセス権を持っている。

役に立ちましたか?

解決

[OK]を、私はそれを考え出します:

var width : Number = 400;
var height : Number = 400;

var stage:Stage = Stage {
    width: bind width with inverse
    height: bind width with inverse
    scene: Scene {
      content: Scribble {
                 canvasWidth: bind stage.scene.width
                 canvasHeight: bind stage.scene.height
               }
    }
}

が、私は本当に私は、ステージ変数を介してこれらにアクセスすることができますので、ここでは、幅と高さを指定する必要はありません。ステージの幅と高さが変化したときのシーンの幅と高さが更新されます。私は、シーンの幅と高さにではなく、VARの幅と高さに結合したときにcanvasWidthがかなり良く更新されることがわかってきました(これはサイズ変更が完了した後にのみ更新)

他のヒント

この上より正確には、シーンの幅と高さは、「公共のinit」として宣言されています。これは、彼らが唯一の初期化時に設定できることを意味します。シーンオブジェクトリテラル内の高さにバインドがその高さは、エラー、したがって、更新されますを意味します。ステージの幅と高さは、それらが更新されることができることを意味し、「パブリック」として宣言されています。

あなたは何にもシーンの寸法をバインドするべきではありません。ユーザーが含むウィンドウのサイズを変更しようとすると、ほとんどのシーン寸法が更新されないので。

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