4

SceneBuilder と対応する Scene と Stage で作成された AnchorPane があります。AnchorPane には VBox が含まれています。AnchorPane のすべてのサイズは USE_COMPUTED_SIZE です。VBox の高さはプログラムで変更されますが、Scene と Stage のサイズは変更されません。

コンテンツのサイズに合わせて自動調整するにはどうすればよいですか?

4

1 に答える 1

10

Application クラスの start() メソッドには、ステージ オブジェクト (ウィザードによってステージと呼ばれます) が渡されます。そのクラス (mStage) で Stage 型のメンバー変数を宣言する場合、start() で最初に行うことは、それを保存することです。

mStage = ステージ;

必要なときにいつでもこれを実行できるようになりました (もちろん Application クラスで):

mStage.sizeToScene() ;

コントローラー クラスから実行する必要がある場合は、コントローラーにアプリケーションへの参照を与えることができます (または、アプリケーション クラスにコントローラーのインターフェイスを実装させることをお勧めします)。ああ、あなたは言いますが、私の Application クラスにはコントローラーへの参照がありません。その逆も同様です)。ウィザードによって生成されるコードは、あまり好きではありません。XML ファイルからコントローラーをインフレートし、参照を提供しないため、document-view-controller パターンの使用が困難になるからです。コントローラーへの参照を取得する方法を知りたい場合は、次のスライド 8 (8 ページではありません) を参照してください。さらにインスタンス化してから独自のコントローラーを指定したい場合 (非常に望ましいユース ケースがあります)、スライド 10 と 11 を参照してください。

https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxwc2NoaW1wZjk5fGd4OjVlODJiOTg2OTVlYzky

于 2016-08-01T17:03:46.140 に答える