1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
注意:我的回答假設(shè) OpenJDK/OracleJDK。我不知道其他供應(yīng)商的行為是否相同。
其他人引用的文檔側(cè)重于不再存在的 JavaFX Packager 工具1。值得注意的是,該工具似乎不是必需的(至少對(duì)于 Java 10 和 11)。唯一需要的是 JavaFX 庫(kù)存在并且指定的主類擴(kuò)展Application
;那么main
無(wú)論代碼如何組裝,您都不需要該方法。
是否還有功能原因仍然實(shí)現(xiàn)主要方法?
在普通的 JavaFX 應(yīng)用程序中,我會(huì)說(shuō)不。幾乎任何你想做的初始化main
都可以在里面完成Application.init
。您還可以通過(guò)Application.getParameters
.
PS 最重要的問(wèn)題為什么編譯器接受 start 作為起點(diǎn).. 反對(duì)我的編程神經(jīng)質(zhì)
有關(guān)JavaFX(至少對(duì)于 10 和 11)應(yīng)用程序的內(nèi)部啟動(dòng)程序的詳細(xì)信息,請(qǐng)參閱我的回答。
此外,編譯器不“接受開(kāi)始作為起點(diǎn)”。編譯器只是編譯代碼并看到start
——并且main
——與任何其他方法一樣。它是搜索main
和調(diào)用它的運(yùn)行時(shí)。也就是說(shuō),鏈接的答案涵蓋了start
(以及一般的 JavaFX 應(yīng)用程序)如何獲得特殊待遇。
1. 打包工具在 Java 11 中被刪除。但是,有一個(gè)可能的替代品:jpackager。
添加回答
舉報(bào)