2017-01-16 288 views
0

load()方法FXMLLoader類用於加載FXML文件。那麼什麼是getClass().getResource()getClass()。getResource在加載fxml文件中的作用是什麼?

Parent root = FXMLLoader.load(getClass().getResource("MainFXML.fxml")); 

做有什麼不對load有不同的實現

Parent root = FXMLLoader.load(("MainFXML.fxml")); 
+3

從類路徑中讀取文件。 'FXMLLoader.load((「MainFXML.fxml」));'從文件系統加載文件 – Jens

回答

0

方法,但它們都不需要String作爲參數。

getClass().getResource("MainFXML.fxml");返回URLURLload的有效參數。而已。

因此,總結一下,沒有執行load(String)

您可以通過不同的方式檢索URL。他們在this官方教程中描述。

1

Class。 getResource用於檢索可在類路徑中找到的資源的URL

FXMLLoader然後loads帶此URL的文件。

FXMLLoader有兩種加載方式,由URLInputStream

如果你想使用File,試試這個:

FXMLLoader.load(new FileInputStream(new File("MainFXML.fxml"))); 

並嘗試捕獲可能發生的可能的例外。

+0

有更多的方法,而不僅僅是兩個:) – xenteros

+0

@xenteros:從上面的鏈接文檔,我沒有看到'load'方法採取任何其他比'URL'或'InputStream'更容易獲得資源,你有更多的信息嗎? – Berger

+0

http://imgur.com/a/3aA0Y – xenteros

相關問題