v1.2.0更新
1. 设计代码模块文件,导入IDE后可快速生成符合JavaFX-Plus编程规范的FXPlusController、FXPlusWindow、FXPlusApplication、FXPlusFXML文件 2. 完善多窗口切换功能,可携带数据跳转 3. 新增注解@FXWindow中的icon属性,传入String类型的图标URL,可为窗口标题栏增设图标 4. 完善JavaFX-Plus生命周期 5. 新增日志log模块 6. 新增语言国际化操作 7. 新增测试生命周期LifeDemo示例和测试国际化的LanguageDemo示例代码 8. 规范化代码和更新README
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
package cn.edu.scau.biubiusuisui.utils;
|
||||
|
||||
import cn.edu.scau.biubiusuisui.entity.FXPlusLocale;
|
||||
import cn.edu.scau.biubiusuisui.exception.ProtocolNotSupport;
|
||||
import cn.edu.scau.biubiusuisui.log.FXPlusLoggerFactory;
|
||||
import cn.edu.scau.biubiusuisui.log.IFXPlusLogger;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Locale;
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* @author suisui
|
||||
* @version 1.2
|
||||
* @description 语言国际化工具类
|
||||
* @date 2020/5/1 11:15
|
||||
* @since JavaFX2.0 JDK1.8
|
||||
*/
|
||||
public class ResourceBundleUtil {
|
||||
private static final IFXPlusLogger logger = FXPlusLoggerFactory.getLogger(ResourceBundleUtil.class);
|
||||
|
||||
/**
|
||||
* @param baseName
|
||||
* @param fxPlusLocale
|
||||
* @return
|
||||
* @description 获取Java的ResourceBundle
|
||||
*/
|
||||
public static ResourceBundle getResourceBundle(String baseName, FXPlusLocale fxPlusLocale) {
|
||||
baseName = StringUtil.trimExtension(baseName);
|
||||
baseName = StringUtil.splashToDot(baseName);
|
||||
Locale locale = ResourceBundleUtil.getLocale(fxPlusLocale);
|
||||
|
||||
// logger.info(baseName);
|
||||
if (locale != null) {
|
||||
return ResourceBundle.getBundle(baseName, locale);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param fxPlusLocale
|
||||
* @return
|
||||
* @description 通过FXPlusLocale枚举类型获取Locale
|
||||
*/
|
||||
private static Locale getLocale(FXPlusLocale fxPlusLocale) {
|
||||
switch (fxPlusLocale) {
|
||||
case SIMPLIFIED_CHINESE:
|
||||
return Locale.SIMPLIFIED_CHINESE;
|
||||
case FRANCE:
|
||||
return Locale.FRANCE;
|
||||
case KOREAN:
|
||||
return Locale.KOREAN;
|
||||
case ENGLISH:
|
||||
return Locale.UK;
|
||||
case GERMANY:
|
||||
return Locale.GERMANY;
|
||||
case ITALIAN:
|
||||
return Locale.ITALIAN;
|
||||
case AMERICAN:
|
||||
return Locale.US;
|
||||
case JAPANESE:
|
||||
return Locale.JAPAN;
|
||||
case TRADITIONAL_CHINESE:
|
||||
return Locale.TRADITIONAL_CHINESE;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param key
|
||||
* @return
|
||||
* @description 通过key获取String类型的value值,失败或不存在返回空字符串
|
||||
*/
|
||||
public static String getStringValue(ResourceBundle resource, String key) {
|
||||
if ("".equals(key) || null == key) {
|
||||
return "";
|
||||
}
|
||||
try {
|
||||
return resource.getString(key);
|
||||
} catch (MissingResourceException | ClassCastException e) {
|
||||
logger.error(e.getMessage());
|
||||
// e.printStackTrace();
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param key
|
||||
* @return
|
||||
* @description 通过key获取Integer类型的value值,失败或不存在返回-1
|
||||
*/
|
||||
public static Integer getIntegerValue(ResourceBundle resource, String key) {
|
||||
if ("".equals(key) || null == key) {
|
||||
return -1;
|
||||
}
|
||||
try {
|
||||
return Integer.valueOf(resource.getString(key));
|
||||
} catch (MissingResourceException | NumberFormatException e) {
|
||||
logger.error(e.getMessage());
|
||||
// e.printStackTrace();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user