![](/img/trans.png)
[英]ScalaFX (JavaFX): Stage content does not resize on window resize
[英]Automatically resize stage if content is changed
我使用SceneBuilder和相應的場景和舞台創建了AnchorPane。 AnchorPane包含VBox。 所有尺寸的AnchorPane都是USE_COMPUTED_SIZE。 VBox的高度改為programmicaly,但場景和舞台的大小不會改變。
如何讓它們自動調整為內容大小?
Application類的start()方法傳遞一個Stage對象(由向導調用stage)。 如果在該類(mStage)中聲明一個Stage類型的成員變量,那么你在start()中做的第一件事就是保存它:
mStage =階段;
您現在可以隨時執行此操作(當然,在您的Application類中):
mStage.sizeToScene();
如果需要從控制器類中執行此操作,則可以為控制器提供對應用程序的引用(或者可能更好,讓Application類實現控制器的接口)。 啊,你說,但我的Application類沒有對控制器的引用,反之亦然)。 好吧,我從來不喜歡向導生成的代碼,因為從XML文件中擴展控制器而不提供對它的引用,這使得使用document-view-controller模式很難。 如果您想了解如何獲得對控制器的引用,請參閱以下幻燈片8(而非第8頁)。 如果您還想要實例化然后指定自己的控制器(我有一個非常需要的用例),請參閱幻燈片10和11:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.