我是JavaFX的新手,并且在Android Studio中采用类似的方式,我希望有一个名为 strings.xml 的文件,我可以存储一些可以从中读取的资源 fxml文件。例如,如果我在 strings.xml 中有以下代码:
<resources>
<string name="app_name">My App Name</string>
</resources>
我想在fxml文件中执行类似的操作:
text="@string/app_name"
如何才能实现这一目标?
答案 0 :(得分:2)
是的,可以在类似于Android资源的方式中在FXML文件中使用国际化字符串。存在一些差异:
资源文件是.properties
个文件,而不是.xml
。变量也以不同的方式定义:
variable.name_1=Hello
variable.name_2=World
(注意缺少<resource>
标记,只是[var_name]=[value]
}。
要在FXML文件中引用字符串,请使用%
而不是@string/
。例如:
<Button
fx:id="button1"
text="%variable.name_1"
/>
那就是它。我建议搜索ResourceBundle
,因为这解释了如何命名属性文件以选择正确的语言。此外,该捆绑包也可用于将国际化变量添加到您的代码中。