2017-09-07 84 views
1

可以使用下面的代碼在Java類中設置ResourceBundle在JavaFX的FXML文件中指定ResourceBundle

FXMLLoader loader = new FXMLLoader(getClass().getResource("my_view.fxml")); 
loader.setResources(MyRes.getBundle());  
//Node myNode = (Node) loader.load(); 

是否可以在FXML文件本身指定ResourceBundle?

回答

1

Introduction to FXML

<fx:include>還支持用於指定應該被用於本地化包含的內容,以及用於對源文件進行編碼的字符集的資源包的名稱屬性。

<fx:include source="filename" resources="resource_file" charset="utf-8"/> 

不知道什麼地方是不包含的文件,因爲我沒有看到那個文件(自一些快速的測試,我不認爲這是可能的,但我可能是錯的情況)。

0

你的意思是?

<Label text="%user.fistname"/> 
<Label text="%uset.lastname"/> 

可以使用%標誌從資源文件在您.fxml文件中添加文本組件。

考慮到您的資源文件包含這兩個帶有值的鍵。

+0

考慮控制器。它可以從POJO'loader.setController(myController);'從fxml'fx:controller =「path.to.MyController」'設置。 loader.setResources(MyRes.getBundle());'?它可以在POJO中指定,但可以在view.fxml中使用fxml語法來設置它嗎? – Stepan

+0

好的,但在'loader.setResources()'你設置你的資源'.fxml'文件,如i18n相關的東西,或任何設置,你可以從資源文件加載。你爲什麼要從外部文件設置控制器? – Sunflame

相關問題