Javafx 2 为什么ResourceBundle为空(在使用FXML和JavaFX2.0的应用程序中)

Javafx 2 为什么ResourceBundle为空(在使用FXML和JavaFX2.0的应用程序中),javafx-2,fxml,Javafx 2,Fxml,我有一个使用FXML在JavaFX上编写的应用程序。我正在尝试将我的应用程序国际化。我试着像书中描述的那样去做 我有一个属性文件,其文本如下:submit=Бцццццц 我有一个按钮,在FXML中描述: <Button id="button1" fx:id="submit" layoutX="69.0" layoutY="200.0" onAction="#loginFired" prefHeight="45.0" prefWidth="97.0" text="\%submit" /&g

我有一个使用FXML在JavaFX上编写的应用程序。我正在尝试将我的应用程序国际化。我试着像书中描述的那样去做

我有一个属性文件,其文本如下:submit=Бцццццц

我有一个按钮,在FXML中描述:

<Button id="button1" fx:id="submit" layoutX="69.0" layoutY="200.0" onAction="#loginFired" prefHeight="45.0" prefWidth="97.0" text="\%submit" />
它会给我一条错误信息

那么,我做错了什么

text="\%submit"
\字符表示转义下一个字符,在本例中为%,结果在输出中写入为%submit。所以正确的用法是text=%submit

如果使用FXMLLoader加载FXML文件,请不要忘记设置资源:

fxmlLoader.setResources(ResourceBundle.getBundle("bundles.MyBundle", locale));
再次查看完整的示例。 还要检查ResourceBundle.getBundlebundles.MyBundle、locale的结果是否不为null

\字符表示转义下一个字符,在本例中为%,结果在输出中写入为%submit。所以正确的用法是text=%submit

如果使用FXMLLoader加载FXML文件,请不要忘记设置资源:

fxmlLoader.setResources(ResourceBundle.getBundle("bundles.MyBundle", locale));
再次查看完整的示例。
还要检查ResourceBundle.getBundlebundles.MyBundle、locale的结果是否不为null。

正如这条语句ifresources==null所示,我的ResourceBundle资源为null。问题是我做错了什么,它是空的?或者你没有通过fxmloader.setResources或ResourceBundle.getbundles.MyBundle设置资源,区域设置返回空。当然,可能还有其他原因。正如这条语句ifresources==null所示,我的ResourceBundle资源为null。问题是我做错了什么,它是空的?或者你没有通过fxmloader.setResources或ResourceBundle.getbundles.MyBundle设置资源,区域设置返回空。当然,可能还有其他原因。