2 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您希望Scene
使用其內(nèi)容的首選大小進(jìn)行初始化,請(qǐng)不要在構(gòu)造期間顯式設(shè)置大小。從以下文檔:Scene
場(chǎng)景的大小可以在構(gòu)建過程中由應(yīng)用程序初始化。如果未指定大小,場(chǎng)景將根據(jù)其內(nèi)容的首選大小自動(dòng)計(jì)算其初始大小。如果僅指定一個(gè)維度,則使用指定維度計(jì)算另一個(gè)維度,同時(shí)考慮根的內(nèi)容偏差。
在您的情況下,只需使用:
Scene scene = new Scene(root);
如果您必須在構(gòu)建過程中指定寬度和高度,例如設(shè)置深度緩沖區(qū)和/或抗鋸齒,請(qǐng)使用負(fù)數(shù)(例如-1
)作為寬度和高度。
Scene scene = new Scene(root, -1, -1, true, SceneAntialiasing.BALANCED);
這將導(dǎo)致1Scene
仍然使用其內(nèi)容的首選大小。請(qǐng)注意,如果使用 3D 功能,您只需要處理深度緩沖/抗鋸齒(閱讀鏈接文檔以獲取更多信息)。
1. 找不到有關(guān)此的文檔。但是,如果我正確理解了實(shí)現(xiàn),則使用負(fù)數(shù)與不設(shè)置維度相同。

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
您可以嘗試在舞臺(tái)對(duì)象上調(diào)用方法 sizeToScene。
您可以在文檔中閱讀它...
https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Window.html#sizeToScene--
編輯:應(yīng)刪除高度和寬度的場(chǎng)景參數(shù)。
添加回答
舉報(bào)