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