diff --git a/src/main/java/com/sjhy/plugin/ui/TemplateSettingPanel.java b/src/main/java/com/sjhy/plugin/ui/TemplateSettingPanel.java index a834bd4fb73cd5ffec97deb0963c31fb200fd66f..9706def1e2b021e65e1c0288acf78d52c44b372d 100644 --- a/src/main/java/com/sjhy/plugin/ui/TemplateSettingPanel.java +++ b/src/main/java/com/sjhy/plugin/ui/TemplateSettingPanel.java @@ -151,6 +151,8 @@ public class TemplateSettingPanel implements Configurable { // 创建主面板 JPanel mainPanel = new JPanel(new BorderLayout()); + this.currGroupName = findExistedGroupName(this.currGroupName); + // 实例化分组面板 this.baseGroupPanel = new BaseGroupPanel(new ArrayList<>(group.keySet()), this.currGroupName) { @Override @@ -254,6 +256,25 @@ public class TemplateSettingPanel implements Configurable { return mainPanel; } + /** + * 获取存在的分组名 + * + * @param groupName 分组名 + * @return 存在的分组名 + */ + private String findExistedGroupName(String groupName) { + //如果groupName不存在 + if (!group.containsKey(groupName)) { + if (group.containsKey(Settings.DEFAULT_NAME)) {//尝试使用默认分组 + return Settings.DEFAULT_NAME; + } else { + //获取第一个分组 + return group.keySet().stream().findFirst().orElse(Settings.DEFAULT_NAME); + } + } + return groupName; + } + /** * 添加调试面板 */ @@ -414,6 +435,7 @@ public class TemplateSettingPanel implements Configurable { // 防止对象篡改,需要进行克隆 this.group = CloneUtils.cloneByJson(settings.getTemplateGroupMap(), new TypeReference>() {}); this.currGroupName = settings.getCurrTemplateGroupName(); + this.currGroupName = findExistedGroupName(settings.getCurrTemplateGroupName()); if (baseGroupPanel == null) { return; }