From 00f4e4fc6e53a26cf3dc67d57d8b00536634d707 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 26 十二月 2025 17:36:11 +0800
Subject: [PATCH] 优化了注册账号

---
 src/set/Sets.java |   44 ++++++++++++++++++--------------------------
 1 files changed, 18 insertions(+), 26 deletions(-)

diff --git a/src/set/Sets.java b/src/set/Sets.java
index 020f3f4..00d5325 100644
--- a/src/set/Sets.java
+++ b/src/set/Sets.java
@@ -110,6 +110,8 @@
         mainPanel.add(scrollPane, BorderLayout.CENTER);
         
         add(mainPanel, BorderLayout.CENTER);
+        
+        setupEventHandlers();
     }
     
     private JPanel createSettingsPanel() {
@@ -1066,43 +1068,34 @@
         return trimmed;
     }
     
+    private void addActionListenerUnique(JButton button, ActionListener listener) {
+        if (button == null) return;
+        for (ActionListener al : button.getActionListeners()) {
+            button.removeActionListener(al);
+        }
+        button.addActionListener(listener);
+    }
+
     private void setupEventHandlers() {
         // 鍓茶崏鏈虹紪鍙风紪杈戞寜閽簨浠�
-        if (mowerIdEditBtn != null) {
-            mowerIdEditBtn.addActionListener(e -> editMowerId());
-        }
+        addActionListenerUnique(mowerIdEditBtn, e -> editMowerId());
 
         // 鍓茶崏鏈洪暱瀹界紪杈戞寜閽簨浠�
-        if (mowerSizeEditBtn != null) {
-            mowerSizeEditBtn.addActionListener(e -> editMowerSize());
-        }
+        addActionListenerUnique(mowerSizeEditBtn, e -> editMowerSize());
 
         // 鍓茶崏瀹夊叏璺濈缂栬緫鎸夐挳浜嬩欢
-        if (mowingSafetyDistanceEditBtn != null) {
-            mowingSafetyDistanceEditBtn.addActionListener(e -> editMowingSafetyDistance());
-        }
+        addActionListenerUnique(mowingSafetyDistanceEditBtn, e -> editMowingSafetyDistance());
 
-        if (baseStationIdEditBtn != null) {
-            baseStationIdEditBtn.addActionListener(e -> editBaseStationId());
-        }
+        addActionListenerUnique(baseStationIdEditBtn, e -> editBaseStationId());
         
         // 妫�鏌ユ洿鏂版寜閽簨浠�
-        if (checkUpdateBtn != null) {
-            checkUpdateBtn.addActionListener(e -> checkForUpdates());
-        }
+        addActionListenerUnique(checkUpdateBtn, e -> checkForUpdates());
 
-        if (handheldEditBtn != null) {
-            handheldEditBtn.addActionListener(e -> editHandheldMarkerId());
-        }
+        addActionListenerUnique(handheldEditBtn, e -> editHandheldMarkerId());
 
-        if (feedbackButton != null) {
-            feedbackButton.addActionListener(e -> showFeedbackDialog());
-        }
+        addActionListenerUnique(feedbackButton, e -> showFeedbackDialog());
 
-        if (idleTrailEditBtn != null) {
-            idleTrailEditBtn.addActionListener(e -> editIdleTrailDuration());
-        }
-        
+        addActionListenerUnique(idleTrailEditBtn, e -> editIdleTrailDuration());
     }
     
     private void editMowerId() {
@@ -1808,7 +1801,6 @@
     @Override
     public void setVisible(boolean visible) {
         if (visible) {
-            setupEventHandlers();
             loadData(); // 姣忔鏄剧ず鏃堕噸鏂板姞杞芥暟鎹�
         }
         super.setVisible(visible);

--
Gitblit v1.10.0