我正在构建一个具有多语言支持的 JavaFX 应用程序。因此,通过以下方式加载fxml
文件时:
AnchorPane page = (AnchorPane) FXMLLoader.load(Main.class.getResource("fxml/RealTimeInitialPanel.fxml"),Language.getBundle());
我正在传递基于默认值的资源包Language
。上面Language
的类扩展了 ResourceBundle 并根据当前的 Locale 返回 String。要更改语言,我只需拨打电话即可Language.setLocale(..)
。一切正常。
但是现在说用户在旅途中更改语言。如何向 fxml 或 UI 发出信号以刷新屏幕。这样他们将再次调用getString(..)
并根据 setLocale 更新文本。在摇摆中,它会定期刷新。但是使用 fx iam 无法