在 JavaFX 中的 FXML 文件中指定 ResourceBundle
Specify ResourceBundle within FXML file in JavaFX
可以使用下面的代码在 Java class 中设置 ResourceBundle
。
FXMLLoader loader = new FXMLLoader(getClass().getResource("my_view.fxml"));
loader.setResources(MyRes.getBundle());
//Node myNode = (Node) loader.load();
是否可以在 FXML 文件本身中指定 ResourceBundle?
你是这个意思吗?
<Label text="%user.firstname"/>
<Label text="%user.lastname"/>
您可以使用 %
符号将资源文件中的文本添加到 .fxml
文件中的组件。
考虑到这一点,您的资源文件必须包含这两个键和值。
<fx:include>
also supports attributes for specifying the name of the resource bundle that should be used to localize the included content, as well as the character set used to encode the source file.
<fx:include source="filename" resources="resource_file" charset="utf-8"/>
不确定它不是包含文件的情况,因为我没有看到相关文档(通过一些快速测试,我认为这是不可能的,尽管我可能是错的)。
可以使用下面的代码在 Java class 中设置 ResourceBundle
。
FXMLLoader loader = new FXMLLoader(getClass().getResource("my_view.fxml"));
loader.setResources(MyRes.getBundle());
//Node myNode = (Node) loader.load();
是否可以在 FXML 文件本身中指定 ResourceBundle?
你是这个意思吗?
<Label text="%user.firstname"/>
<Label text="%user.lastname"/>
您可以使用 %
符号将资源文件中的文本添加到 .fxml
文件中的组件。
考虑到这一点,您的资源文件必须包含这两个键和值。
<fx:include>
also supports attributes for specifying the name of the resource bundle that should be used to localize the included content, as well as the character set used to encode the source file.<fx:include source="filename" resources="resource_file" charset="utf-8"/>
不确定它不是包含文件的情况,因为我没有看到相关文档(通过一些快速测试,我认为这是不可能的,尽管我可能是错的)。