如何从fxml文件中的xml文件中读取值?

时间:2016-06-08 21:54:08

标签: java xml javafx javafx-8 fxml

我是JavaFX的新手,并且在Android Studio中采用类似的方式,我希望有一个名为 strings.xml 的文件,我可以存储一些可以从中读取的资源 fxml文件。例如,如果我在 strings.xml 中有以下代码:

<resources>
    <string name="app_name">My App Name</string>
</resources>

我想在fxml文件中执行类似的操作:

text="@string/app_name"

如何才能实现这一目标?

1 个答案:

答案 0 :(得分:2)

是的,可以在类似于Android资源的方式中在FXML文件中使用国际化字符串。存在一些差异:

  1. 资源文件是.properties个文件,而不是.xml。变量也以不同的方式定义:

    variable.name_1=Hello
    variable.name_2=World
    

    (注意缺少<resource>标记,只是[var_name]=[value]}。

  2. 要在FXML文件中引用字符串,请使用%而不是@string/。例如:

    <Button
        fx:id="button1"
        text="%variable.name_1"
    />
    
  3. 那就是它。我建议搜索ResourceBundle,因为这解释了如何命名属性文件以选择正确的语言。此外,该捆绑包也可用于将国际化变量添加到您的代码中。