2017-09-07 72 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

相关问题