From 60a3f2bc64b7a5f502e4133ced31f0b25c88d3f1 Mon Sep 17 00:00:00 2001
From: Hunter0x7c7 <1125607007@qq.com>
Date: 星期四, 12 九月 2024 14:57:03 +0800
Subject: [PATCH] 版本v1.0.2(3)发布。

---
 src/main/java/com/github/hunter0x7c7/sync/utils/TrayUtil.java |   44 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/github/hunter0x7c7/sync/utils/TrayUtil.java b/src/main/java/com/github/hunter0x7c7/sync/utils/TrayUtil.java
index ec9f0cd..3e40968 100644
--- a/src/main/java/com/github/hunter0x7c7/sync/utils/TrayUtil.java
+++ b/src/main/java/com/github/hunter0x7c7/sync/utils/TrayUtil.java
@@ -2,17 +2,16 @@
 
 
 import com.github.hunter0x7c7.sync.model.interfaces.Callback;
+import com.github.hunter0x7c7.sync.model.storage.Session;
 import javafx.application.Platform;
 import javafx.stage.Stage;
 
-import java.util.List;
-
 import javax.swing.*;
 import java.awt.*;
+import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 import static com.github.hunter0x7c7.sync.model.global.Parameters.APPID;
-import static com.github.hunter0x7c7.sync.model.global.Parameters.AppNameString;
 
 public class TrayUtil {
 
@@ -62,26 +61,31 @@
         Image img = imageIcon.getImage();
 
 
-        TrayIcon trayIcon = new TrayIcon(img, tooltip, popup);
-        //璁剧疆鍥炬爣灏哄鑷姩閫傚簲
-        trayIcon.setImageAutoSize(true);
+        final TrayIcon trayIcon = new TrayIcon(img, tooltip, popup);
+        //trayIcon.setImageAutoSize(true);//璁剧疆鍥炬爣灏哄鑷姩閫傚簲
         trayIcon.setActionCommand(APPID);
         trayIcon.addActionListener(new ActionListener() {
             @Override
-            public void actionPerformed(java.awt.event.ActionEvent e) {
+            public void actionPerformed(ActionEvent e) {
                 //榧犳爣鍙屽嚮绯荤粺鎵樼洏鍥炬爣
                 Platform.runLater(new Runnable() {
                     @Override
                     public void run() {
                         if (stage != null) {
-                            stage.show();
+                            if (stage.isIconified()) {//鏈�灏忓寲
+                                stage.setIconified(false);
+                            }
+                            if (!stage.isShowing()) {
+                                stage.show();
+                            }
+                            stage.toFront();
                         }
                     }
                 });
             }
         });
         //绯荤粺鎵樼洏
-        SystemTray tray = SystemTray.getSystemTray();
+        final SystemTray tray = SystemTray.getSystemTray();
         Platform.runLater(new Runnable() {
             @Override
             public void run() {
@@ -102,8 +106,7 @@
             if (tray != null) {
                 tray.remove(trayIcon);
             }
-            //閫�鍑�
-            Platform.exit();
+            exitApp();
         });
         //鐐瑰嚮鍏抽棴鎸夐挳鏃堕殣钘忓満鏅�
         stage.setOnCloseRequest(event -> {
@@ -114,4 +117,23 @@
             });
         });
     }
+
+
+    //閫�鍑�
+    public void exitApp() {
+        //UI绾跨▼
+        Platform.runLater(new Runnable() {
+            @Override
+            public void run() {
+                //閫�鍑哄墠鍏堝叧闂獥鍙�
+                Stage stage = Session.getInstance().getPrimaryStage();
+                if (stage != null) {
+                    stage.close();
+                }
+                //閫�鍑�
+                Platform.exit();
+            }
+        });
+    }
+
 }

--
Gitblit v1.9.1