Java 如何从fxml文件中的xml文件中读取值?
我是JavaFX的新手,与Android Studio中的做法类似,我希望有一个名为strings.xml的文件,在那里我可以存储一些可以从fxml文件中读取的资源。例如,如果我在strings.xml中有以下代码:Java 如何从fxml文件中的xml文件中读取值?,java,xml,javafx,javafx-8,fxml,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文件中以类似于Android资源的方式使用国际化
<resources>
<string name="app_name">My App Name</string>
</resources>
如何实现这一点?是的,可以在FXML文件中以类似于Android资源的方式使用国际化字符串。有一些区别:
.properties
文件,而不是.xml
。变量的定义方式也不同:
variable.name_1=Hello
variable.name_2=World
(注意缺少
标记,它只是简单的[var\u name]=[value]
)%
而不是@string/
。例如:
<Button
fx:id="button1"
text="%variable.name_1"
/>
就这样。我建议搜索
ResourceBundle
,因为这解释了属性文件应该如何命名以选择正确的语言。此外,该捆绑包还可用于向代码中添加国际化变量。是的,可以在FXML文件中以类似于Android资源的方式使用国际化字符串。有一些区别:
.properties
文件,而不是.xml
。变量的定义方式也不同:
variable.name_1=Hello
variable.name_2=World
(注意缺少
标记,它只是简单的[var\u name]=[value]
)%
而不是@string/
。例如:
<Button
fx:id="button1"
text="%variable.name_1"
/>
就这样。我建议搜索
ResourceBundle
,因为这解释了属性文件应该如何命名以选择正确的语言。此外,该捆绑包还可用于向代码中添加国际化变量。一个总体思路:您可以实现一个用于读取和解析XML文件,然后将实例传递给FXMLLoader
。然后使用标准的FXML。或者,如果您不习惯使用XML,只需使用标准并定义一个常规属性文件。一个一般想法是:您可以实现一个读取和解析XML文件的方法,然后将一个实例传递给FXMLLoader
。然后使用标准的FXML。或者,如果不想使用XML,只需使用标准并定义常规属性文件即可。