From 1c7c28f03215f03e97387d7e6b45ae752c396dcb Mon Sep 17 00:00:00 2001
From: HunterHuang0X7C7 <1125607007@qq.com>
Date: 星期六, 12 八月 2023 16:58:15 +0800
Subject: [PATCH] 去掉无用引用,优化退出卡死和窗口泄露,优化开启后启动报错
---
src/main/java/com/github/hunter0x7c7/sync/utils/TrayUtil.java | 28 ++++++++++++++++++++++------
1 files changed, 22 insertions(+), 6 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..50f3170 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,15 @@
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.ActionListener;
import static com.github.hunter0x7c7.sync.model.global.Parameters.APPID;
-import static com.github.hunter0x7c7.sync.model.global.Parameters.AppNameString;
public class TrayUtil {
@@ -64,7 +62,7 @@
TrayIcon trayIcon = new TrayIcon(img, tooltip, popup);
//璁剧疆鍥炬爣灏哄鑷姩閫傚簲
- trayIcon.setImageAutoSize(true);
+ //trayIcon.setImageAutoSize(true);
trayIcon.setActionCommand(APPID);
trayIcon.addActionListener(new ActionListener() {
@Override
@@ -102,8 +100,7 @@
if (tray != null) {
tray.remove(trayIcon);
}
- //閫�鍑�
- Platform.exit();
+ exitApp();
});
//鐐瑰嚮鍏抽棴鎸夐挳鏃堕殣钘忓満鏅�
stage.setOnCloseRequest(event -> {
@@ -114,4 +111,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