JavaFX: 多语言适配
JDK国际化:ResourceBundle.html
其他资源:TornadoFX编程指南,第10章,FXML和国际化、JavaFX的ResourceBundle使用
创建Resource Bundle资源
ResourceBundle获取资源
public class ResourceBundleUtil {private static final ResourceBundle resource;static {resource = ResourceBundle.getBundle("language.String", Locale.getDefault());}private ResourceBundleUtil() {}public static ResourceBundle getResource() {return resource;}public static String getStringValue(String key) {try {return resource.getString(key);} catch (Exception exception) {return "";}}}
ResourceBundleUtil.getStringValue("alert.title.exitApp")
FXML设置ResourceBundle
<Label fx:id="newScreenShot" text="%screenshot">
设置%screenshot
fxml设置ResourceBundle:FXMLLoader fxmlLoader = new FXMLLoader(location, ResourceBundleUtil.getResource());
1、还是显示乱码,需要设置文件编码IntelliJ IDEA中文不友好
2、fxml布局使用"%screenshot"
报No resources specified,这个是FXMLLoader
需要设置ResourceBundle