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:
yangsuiyu
2020-05-04 15:13:58 +08:00
parent 7c807d4b39
commit b48325cd63
147 changed files with 2888 additions and 456 deletions

View File

@@ -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;
}
}
}