refactor: 删除重复功能代码
This commit is contained in:
parent
50aea7774e
commit
feb364eae0
@ -40,11 +40,22 @@ public class LocalizationController {
|
||||
return Locale.getDefault();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化语言配置
|
||||
*/
|
||||
public static void initLocal() {
|
||||
setCurrentLocal(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前语言配置
|
||||
* @param locale 当前语言Local对象
|
||||
*/
|
||||
public static void setCurrentLocal(Locale locale) {
|
||||
if (locale != null && locale.equals(getCurrentLocal())) {
|
||||
// 要更新的语言与当前语言一致,则不执行
|
||||
return;
|
||||
}
|
||||
if (locale == null) {
|
||||
locale = SUPPORT_LOCALES.get(LOCALIZATION_CONFIG.getLanguage());
|
||||
}
|
||||
@ -57,6 +68,10 @@ public class LocalizationController {
|
||||
LOCALIZATION_CONFIG.setLanguage(SUPPORT_LANGUAGES.get(locale));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前语言配置
|
||||
* @param language 当前语言自定义字符形式
|
||||
*/
|
||||
public static void setCurrentLanguage(String language) {
|
||||
Locale locale = SUPPORT_LOCALES.get(language);
|
||||
if (locale != null) {
|
||||
@ -78,6 +93,10 @@ public class LocalizationController {
|
||||
appConfigController.updateLanguage(language);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前语言配置
|
||||
* @return appConfig中的当前语言配置
|
||||
*/
|
||||
public String getLanguage() {
|
||||
return appConfigController.getLanguage();
|
||||
}
|
||||
|
||||
@ -285,16 +285,14 @@ public class JNotepadMenuBar extends MenuBar {
|
||||
// 设置窗口为置顶
|
||||
primaryStage.setAlwaysOnTop(after);
|
||||
});
|
||||
englishItem.setOnAction(actionEvent -> {
|
||||
setCurrentLanguage(ENGLISH);
|
||||
toggleLanguage(actionEvent);
|
||||
});
|
||||
chineseItem.setOnAction(actionEvent -> {
|
||||
setCurrentLanguage(CHINESE);
|
||||
toggleLanguage(actionEvent);
|
||||
});
|
||||
englishItem.setOnAction(this::toggleLanguage);
|
||||
chineseItem.setOnAction(this::toggleLanguage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换语言
|
||||
* @param actionEvent 点击事件
|
||||
*/
|
||||
private void toggleLanguage(ActionEvent actionEvent) {
|
||||
if (actionEvent == null) {
|
||||
return;
|
||||
@ -306,20 +304,6 @@ public class JNotepadMenuBar extends MenuBar {
|
||||
LocalizationController.setCurrentLocal((Locale) languageItem.getUserData());
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前语言<br>
|
||||
*
|
||||
* @param language 要设置的语言
|
||||
* @since 2023/8/26 16:16
|
||||
*/
|
||||
private void setCurrentLanguage(String language) {
|
||||
// 如果当前已是该语言则不执行该方法
|
||||
if (localizationController.getLanguage().equals(language)) {
|
||||
return;
|
||||
}
|
||||
LocalizationController.setCurrentLanguage(language);
|
||||
AppConfigController.getInstance().updateLanguage(language);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据当前选中tab,更新菜单选项
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user