From 100f4dcea20a32663a07e91525de111f7515eb79 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 21 十一月 2025 17:25:53 +0800
Subject: [PATCH] 可发布版本202517.25
---
bin/xitongshezhi/kuaisuquka$1.class | 0
err.properties | 10 +
src/xitongshezhi/kuaisuquka.java | 343 ++++++++++++++++++++++++------------------
bin/xitongshezhi/kuaisuquka$4.class | 0
bin/xitongshezhi/kuaisuquka.class | 0
src/chushihua/lunxun.java | 14 +
bin/xitongshezhi/kuaisuquka$3.class | 0
bin/chushihua/lunxun.class | 0
bin/xitongshezhi/kuaisuquka$SlotButtonListener.class | 0
bin/xitongshezhi/kuaisuquka$SlotStatus.class | 0
bin/chushihua/lunxun$PollingTask.class | 0
src/xitongshezhi/SystemDebugDialog.java | 1
log.properties | 72 ++++++++
bin/xitongshezhi/kuaisuquka$2.class | 0
14 files changed, 285 insertions(+), 155 deletions(-)
diff --git a/bin/chushihua/lunxun$PollingTask.class b/bin/chushihua/lunxun$PollingTask.class
index 25a471d..0a4a6e4 100644
--- a/bin/chushihua/lunxun$PollingTask.class
+++ b/bin/chushihua/lunxun$PollingTask.class
Binary files differ
diff --git a/bin/chushihua/lunxun.class b/bin/chushihua/lunxun.class
index 4886da2..9e1b8eb 100644
--- a/bin/chushihua/lunxun.class
+++ b/bin/chushihua/lunxun.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka$1.class b/bin/xitongshezhi/kuaisuquka$1.class
index bf6d2ad..8127b8e 100644
--- a/bin/xitongshezhi/kuaisuquka$1.class
+++ b/bin/xitongshezhi/kuaisuquka$1.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka$2.class b/bin/xitongshezhi/kuaisuquka$2.class
index 736e0f0..6db92f2 100644
--- a/bin/xitongshezhi/kuaisuquka$2.class
+++ b/bin/xitongshezhi/kuaisuquka$2.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka$3.class b/bin/xitongshezhi/kuaisuquka$3.class
index b39084d..1e27b2a 100644
--- a/bin/xitongshezhi/kuaisuquka$3.class
+++ b/bin/xitongshezhi/kuaisuquka$3.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka$4.class b/bin/xitongshezhi/kuaisuquka$4.class
index e229e71..89f3b62 100644
--- a/bin/xitongshezhi/kuaisuquka$4.class
+++ b/bin/xitongshezhi/kuaisuquka$4.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka$SlotButtonListener.class b/bin/xitongshezhi/kuaisuquka$SlotButtonListener.class
index 6edd74e..f614e34 100644
--- a/bin/xitongshezhi/kuaisuquka$SlotButtonListener.class
+++ b/bin/xitongshezhi/kuaisuquka$SlotButtonListener.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka$SlotStatus.class b/bin/xitongshezhi/kuaisuquka$SlotStatus.class
index 8a57d99..041287f 100644
--- a/bin/xitongshezhi/kuaisuquka$SlotStatus.class
+++ b/bin/xitongshezhi/kuaisuquka$SlotStatus.class
Binary files differ
diff --git a/bin/xitongshezhi/kuaisuquka.class b/bin/xitongshezhi/kuaisuquka.class
index d2d9748..faa293f 100644
--- a/bin/xitongshezhi/kuaisuquka.class
+++ b/bin/xitongshezhi/kuaisuquka.class
Binary files differ
diff --git a/err.properties b/err.properties
index 1e47fe7..e3b5601 100644
--- a/err.properties
+++ b/err.properties
@@ -1,4 +1,10 @@
-#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Fri Nov 21 15:10:10 CST 2025
-#Fri Nov 21 15:10:10 CST 2025
+#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Fri Nov 21 15:53:26 CST 2025
+#Fri Nov 21 15:53:26 CST 2025
log_1763709005376_be67189d=[2025-11-21 15\:10\:05] 鍙栧崱鎿嶄綔锛�12132232
log_1763709010792_533f9544=[2025-11-21 15\:10\:10] 鍙栧崱鎿嶄綔锛氬崱妲�14琚鐞嗗憳鍙栧崱
+log_1763711606778_258ce9b3=[2025-11-21 15\:53\:26] [15\:53\:26.776] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763711606820_621ce6a5=[2025-11-21 15\:53\:26] [15\:53\:26.820] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763711606821_a4bb65ce=[2025-11-21 15\:53\:26] [15\:53\:26.821] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763711606822_e9cc5b23=[2025-11-21 15\:53\:26] [15\:53\:26.822] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763711606823_1da1f119=[2025-11-21 15\:53\:26] [15\:53\:26.823] 鍙戦�佸け璐ワ紝姝e湪閲嶈瘯 (1/2)
+log_1763711606824_15788a29=[2025-11-21 15\:53\:26] lunxun杩炵画澶辫触娆℃暟杩囧锛屾殏鍋滆疆璇�
diff --git a/log.properties b/log.properties
index cf35b17..ba2819a 100644
--- a/log.properties
+++ b/log.properties
@@ -1,5 +1,5 @@
-#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Fri Nov 21 15:46:19 CST 2025
-#Fri Nov 21 15:46:19 CST 2025
+#\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Fri Nov 21 17:13:04 CST 2025
+#Fri Nov 21 17:13:04 CST 2025
log_1763709005376_be67189d=[2025-11-21 15\:10\:05] 鍙栧崱鎿嶄綔锛氬崱妲�14琚鐞嗗憳鍙栧崱
log_1763709010792_533f9544=[2025-11-21 15\:10\:10] 鍙栧崱鎿嶄綔锛氬崱妲�14琚鐞嗗憳鍙栧崱
log_1763710366394_3e2ee73b=[2025-11-21 15\:32\:46] 鍙栧崱鎿嶄綔锛氬崱妲�1琚鐞嗗憳鍙栧崱
@@ -197,3 +197,71 @@
log_1763711176319_38854f73=[2025-11-21 15\:46\:16] 鍙栧崱鎿嶄綔锛氬崱妲�55琚鐞嗗憳鍙栧崱
log_1763711176620_41d8db8a=[2025-11-21 15\:46\:16] 鍙栧崱鎿嶄綔锛氬崱妲�55琚鐞嗗憳鍙栧崱
log_1763711179015_2952f952=[2025-11-21 15\:46\:19] 绠$悊鍛樺凡灏嗗叏閮ㄥ崱妲藉凡缁忔墦寮�璇峰彇鍗�
+log_1763713705096_9d5670de=[2025-11-21 16\:28\:25] DDCC0008F00C515AA55AA5027A81;type2鎺у埗鎵撳紑12鏌滈棬
+log_1763713705463_ebe6da20=[2025-11-21 16\:28\:25] 鍙栧崱鎿嶄綔锛氬崱妲�12琚鐞嗗憳鍙栧崱
+log_1763715591886_1ac9cc5a=[2025-11-21 16\:59\:51] DDCC0008F013515AA55AA502BB6F;type2鎺у埗鎵撳紑19鏌滈棬
+log_1763715592224_8af42a4f=[2025-11-21 16\:59\:52] 鍙栧崱鎿嶄綔锛氬崱妲�19琚鐞嗗憳鍙栧崱
+log_1763715735797_38b1a47b=[2025-11-21 17\:02\:15] DDCC0008F00D515AA55AA502BA91;type2鎺у埗鎵撳紑13鏌滈棬
+log_1763716227580_f95bc09a=[2025-11-21 17\:10\:27] DDCC0008F00C515AA55AA5027A81;type2鎺у埗鎵撳紑12鏌滈棬
+log_1763716227937_a73d3b5b=[2025-11-21 17\:10\:27] 鍙栧崱鎿嶄綔锛氬崱妲�12琚鐞嗗憳鍙栧崱
+log_1763716377421_6577a6ec=[2025-11-21 17\:12\:57] 鍙栧崱鎿嶄綔锛氬崱妲�1琚鐞嗗憳鍙栧崱
+log_1763716377517_f6fe46de=[2025-11-21 17\:12\:57] 鍙栧崱鎿嶄綔锛氬崱妲�2琚鐞嗗憳鍙栧崱
+log_1763716377617_d4676872=[2025-11-21 17\:12\:57] 鍙栧崱鎿嶄綔锛氬崱妲�3琚鐞嗗憳鍙栧崱
+log_1763716377717_f8ce2321=[2025-11-21 17\:12\:57] 鍙栧崱鎿嶄綔锛氬崱妲�4琚鐞嗗憳鍙栧崱
+log_1763716377817_f2002ba4=[2025-11-21 17\:12\:57] 鍙栧崱鎿嶄綔锛氬崱妲�5琚鐞嗗憳鍙栧崱
+log_1763716377916_112dc429=[2025-11-21 17\:12\:57] 鍙栧崱鎿嶄綔锛氬崱妲�6琚鐞嗗憳鍙栧崱
+log_1763716378018_4f02bd40=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�7琚鐞嗗憳鍙栧崱
+log_1763716378116_91cb3159=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�8琚鐞嗗憳鍙栧崱
+log_1763716378217_d21090a4=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�9琚鐞嗗憳鍙栧崱
+log_1763716378316_eee62d13=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�10琚鐞嗗憳鍙栧崱
+log_1763716378416_49dfa52f=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�11琚鐞嗗憳鍙栧崱
+log_1763716378516_97fd0ebf=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�12琚鐞嗗憳鍙栧崱
+log_1763716378617_14298d78=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�13琚鐞嗗憳鍙栧崱
+log_1763716378716_89f7fe99=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�14琚鐞嗗憳鍙栧崱
+log_1763716378867_1ee85650=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�15琚鐞嗗憳鍙栧崱
+log_1763716378968_de0d5066=[2025-11-21 17\:12\:58] 鍙栧崱鎿嶄綔锛氬崱妲�16琚鐞嗗憳鍙栧崱
+log_1763716379065_030b8980=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�17琚鐞嗗憳鍙栧崱
+log_1763716379166_2af275ec=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�18琚鐞嗗憳鍙栧崱
+log_1763716379267_b667a29e=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�19琚鐞嗗憳鍙栧崱
+log_1763716379367_2498a809=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�20琚鐞嗗憳鍙栧崱
+log_1763716379467_bfe1598a=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�21琚鐞嗗憳鍙栧崱
+log_1763716379567_cb9eb62b=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�22琚鐞嗗憳鍙栧崱
+log_1763716379666_688ebc2f=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�23琚鐞嗗憳鍙栧崱
+log_1763716379766_0087530c=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�24琚鐞嗗憳鍙栧崱
+log_1763716379867_4611e338=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�25琚鐞嗗憳鍙栧崱
+log_1763716379967_fdaa10ff=[2025-11-21 17\:12\:59] 鍙栧崱鎿嶄綔锛氬崱妲�26琚鐞嗗憳鍙栧崱
+log_1763716380067_7066ebe8=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�27琚鐞嗗憳鍙栧崱
+log_1763716380167_daa20dbf=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�28琚鐞嗗憳鍙栧崱
+log_1763716380266_a7c6e4f7=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�29琚鐞嗗憳鍙栧崱
+log_1763716380366_1dc8dacf=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�30琚鐞嗗憳鍙栧崱
+log_1763716380516_d28c278d=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�31琚鐞嗗憳鍙栧崱
+log_1763716380616_8e7dc215=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�32琚鐞嗗憳鍙栧崱
+log_1763716380716_2d57a4ef=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�33琚鐞嗗憳鍙栧崱
+log_1763716380817_27f8849c=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�34琚鐞嗗憳鍙栧崱
+log_1763716380915_556a565a=[2025-11-21 17\:13\:00] 鍙栧崱鎿嶄綔锛氬崱妲�35琚鐞嗗憳鍙栧崱
+log_1763716381016_a66e5689=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�36琚鐞嗗憳鍙栧崱
+log_1763716381116_2f621f7e=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�37琚鐞嗗憳鍙栧崱
+log_1763716381216_8ee638c7=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�38琚鐞嗗憳鍙栧崱
+log_1763716381316_4a494195=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�39琚鐞嗗憳鍙栧崱
+log_1763716381417_d2e4fce3=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�40琚鐞嗗憳鍙栧崱
+log_1763716381516_ad2c841b=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�41琚鐞嗗憳鍙栧崱
+log_1763716381616_f769b6ee=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�42琚鐞嗗憳鍙栧崱
+log_1763716381716_749a04bd=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�43琚鐞嗗憳鍙栧崱
+log_1763716381816_36768fce=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�44琚鐞嗗憳鍙栧崱
+log_1763716381916_8dfccd10=[2025-11-21 17\:13\:01] 鍙栧崱鎿嶄綔锛氬崱妲�45琚鐞嗗憳鍙栧崱
+log_1763716382066_05896cc1=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�46琚鐞嗗憳鍙栧崱
+log_1763716382167_4f94fd40=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�47琚鐞嗗憳鍙栧崱
+log_1763716382267_e13e3734=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�48琚鐞嗗憳鍙栧崱
+log_1763716382367_b5591084=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�49琚鐞嗗憳鍙栧崱
+log_1763716382465_8b6a0f92=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�50琚鐞嗗憳鍙栧崱
+log_1763716382566_039d11f4=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�51琚鐞嗗憳鍙栧崱
+log_1763716382667_97480314=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�52琚鐞嗗憳鍙栧崱
+log_1763716382767_1ce157e6=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�53琚鐞嗗憳鍙栧崱
+log_1763716382867_2128e536=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�54琚鐞嗗憳鍙栧崱
+log_1763716382967_f3041239=[2025-11-21 17\:13\:02] 鍙栧崱鎿嶄綔锛氬崱妲�55琚鐞嗗憳鍙栧崱
+log_1763716383066_ea1f332b=[2025-11-21 17\:13\:03] 鍙栧崱鎿嶄綔锛氬崱妲�56琚鐞嗗憳鍙栧崱
+log_1763716383166_9d894f87=[2025-11-21 17\:13\:03] 鍙栧崱鎿嶄綔锛氬崱妲�57琚鐞嗗憳鍙栧崱
+log_1763716383267_b0a3c9a1=[2025-11-21 17\:13\:03] 鍙栧崱鎿嶄綔锛氬崱妲�58琚鐞嗗憳鍙栧崱
+log_1763716383368_65a77f09=[2025-11-21 17\:13\:03] 鍙栧崱鎿嶄綔锛氬崱妲�59琚鐞嗗憳鍙栧崱
+log_1763716383468_1d41c7bb=[2025-11-21 17\:13\:03] 鍙栧崱鎿嶄綔锛氬崱妲�60琚鐞嗗憳鍙栧崱
+log_1763716384559_af7c9cc7=[2025-11-21 17\:13\:04] 绠$悊鍛樺凡灏嗗叏閮ㄥ崱妲藉凡缁忔墦寮�璇峰彇鍗�
diff --git a/src/chushihua/lunxun.java b/src/chushihua/lunxun.java
index 217dab3..83df31c 100644
--- a/src/chushihua/lunxun.java
+++ b/src/chushihua/lunxun.java
@@ -365,7 +365,7 @@
while (isRunning && !Thread.currentThread().isInterrupted() && !shouldStop.get()) {
try {
- // System.out.println("鏌ヨ涓�.....绾跨▼");
+// System.out.println("鏌ヨ涓�.....绾跨▼");
// 妫�鏌ユ槸鍚︽殏鍋�
if (isPaused) {
synchronized (lunxun.class) {
@@ -427,9 +427,13 @@
} else {
status = "鏃犲崱";
}
- SystemDebugDialog.appendAsciiData(
- String.format("Slot %d (%s) 鏌ヨ鎴愬姛锛岄棿闅�: %dms\n",
- slotNumber, status, queryInterval));
+ if (DEBUG_ENABLED) {
+ StringBuilder debugMsg = new StringBuilder(50);
+ debugMsg.append("Slot ").append(slotNumber)
+ .append(" (").append(status).append(") 鏌ヨ鎴愬姛锛岄棿闅�: ")
+ .append(queryInterval).append("ms\n");
+ SystemDebugDialog.appendAsciiData(debugMsg.toString());
+ }
}
} else {
consecutiveFailures++;
@@ -480,7 +484,7 @@
try {
// 浣跨敤缂撳瓨鐨勬煡璇㈡寚浠�
String queryCommand = getCachedQueryCommand(slotNumber);
- // System.out.println("鎸囦护鏄細"+queryCommand);
+// System.out.println("鎸囦护鏄細"+queryCommand);
if (DEBUG_ENABLED) {
SystemDebugDialog.appendAsciiData("send to "+slotNumber+" queryCommand");
}
diff --git a/src/xitongshezhi/SystemDebugDialog.java b/src/xitongshezhi/SystemDebugDialog.java
index 9b19556..532bc17 100644
--- a/src/xitongshezhi/SystemDebugDialog.java
+++ b/src/xitongshezhi/SystemDebugDialog.java
@@ -327,6 +327,7 @@
staticDataTextArea.setCaretPosition(staticDataTextArea.getDocument().getLength());
}
appendAsciiData("[" + getCurrentTime() + "] 寮�濮嬫樉绀烘暟鎹甛n");
+ lunxun.resumePolling();
lunxun.DEBUG_ENABLED=true;
} else {
scrollButton.setText("鏆傚仠");
diff --git a/src/xitongshezhi/kuaisuquka.java b/src/xitongshezhi/kuaisuquka.java
index 048e7ca..a648035 100644
--- a/src/xitongshezhi/kuaisuquka.java
+++ b/src/xitongshezhi/kuaisuquka.java
@@ -18,9 +18,7 @@
// 灞忓箷灏哄甯搁噺 - 閫傞厤7瀵哥珫灞�
private static final int SCREEN_WIDTH = 600;
private static final int SCREEN_HEIGHT = 1024;
- // 鏂板锛氳褰曡繘鍏ュ揩閫熷彇鍗¢〉闈㈠墠鐨勮疆璇㈢姸鎬�
- private boolean wasPollingRunning = false;
- private boolean wasPollingPaused = false;
+
// 棰滆壊甯搁噺
private static final Color PRIMARY_COLOR = new Color(52, 152, 219);
private static final Color PRIMARY_DARK_COLOR = new Color(41, 128, 185);
@@ -60,32 +58,47 @@
// 缁熻淇℃伅
private JLabel cardsCountLabel;
- // 浼樺寲鐨勫璇濇绠$悊
- private JDialog progressDialog;
- private JDialog resultDialog;
-
// 鍏变韩鐨勪簨浠剁洃鍚櫒
private final SlotButtonListener slotButtonListener;
- private SlotManager slotManager;
private Timer refreshTimer; // 鏂板锛氬埛鏂板畾鏃跺櫒
public kuaisuquka(JFrame parent) {
super(parent, "蹇�熷彇鍗�", true);
- slotManager = new SlotManager();
slotButtons = new ArrayList<>(60);
slotStatuses = new ArrayList<>(60);
slotButtonListener = new SlotButtonListener();
- // 璁板綍杩涘叆蹇�熷彇鍗¢〉闈㈠墠鐨勮疆璇㈢姸鎬�
- recordPollingStateBeforeEntering();
-
initializeUI();
initializeSlots();
- startAutoRefresh(); // 鏂板锛氬惎鍔ㄨ嚜鍔ㄥ埛鏂�
+ startAutoRefresh();
- // 杩涘叆蹇�熷彇鍗¢〉闈㈡椂鏆傚仠杞
- pausePollingWhenEntering();
+ // 璋冭瘯淇℃伅
+ //System.out.println("蹇�熷彇鍗¢〉闈㈠垵濮嬪寲瀹屾垚锛屽紑濮嬫樉绀哄崱妲界姸鎬�");
+ debugSlotStatus();
+ }
+
+ /**
+ * 璋冭瘯鏂规硶锛氭墦鍗板崱妲界姸鎬佷俊鎭�
+ */
+ private void debugSlotStatus() {
+ Fkj[] slotArray = SlotManager.getSlotArray();
+ if (slotArray == null) {
+ //System.out.println("SlotManager.getSlotArray() 杩斿洖 null");
+ return;
+ }
+
+ //System.out.println("=== 鍗℃Ы鐘舵�佽皟璇曚俊鎭� ===");
+ for (int i = 0; i < Math.min(slotArray.length, 60); i++) {
+ Fkj slot = slotArray[i];
+ if (slot != null) {
+ System.out.printf("鍗℃Ы %d: hasCard=%s, cardNumber=%s%n",
+ i + 1, slot.getHasCard(), slot.getCardNumber());
+ } else {
+ System.out.printf("鍗℃Ы %d: null%n", i + 1);
+ }
+ }
+ //System.out.println("======================");
}
/**
@@ -102,74 +115,113 @@
}
/**
- * 浠嶴lotManager鍒锋柊鍗℃Ы鐘舵��
+ * 浠嶴lotManager鍒锋柊鍗℃Ы鐘舵�� - 褰诲簳閲嶅啓鐗堟湰
*/
private void refreshSlotStatusFromManager() {
boolean statusChanged = false;
+ Fkj[] slotArray = SlotManager.getSlotArray();
- for (int i = 0; i < 60; i++) {
- int slotId = i + 1;
- String hasCardStatus = SlotManager.getSlotHasCardStatus(slotId);
+ if (slotArray == null) {
+ //System.out.println("鍒锋柊鍗℃Ы鐘舵��: slotArray 涓� null");
+ return;
+ }
+
+ for (int i = 0; i < 60 && i < slotArray.length; i++) {
+ Fkj slotInfo = slotArray[i];
+ if (slotInfo == null) {
+ // 濡傛灉鍗℃Ы淇℃伅涓簄ull锛岃缃负鏃犲崱鐘舵��
+ if (i < slotStatuses.size() && slotStatuses.get(i) != SlotStatus.NO_CARD) {
+ slotStatuses.set(i, SlotStatus.NO_CARD);
+ statusChanged = true;
+ }
+ continue;
+ }
- // 妫�鏌ユ槸鍚︽湁鍗″苟涓旀湁鏈夋晥鐨勫崱鍙�
+ String hasCardStatus = slotInfo.getHasCard();
+ String cardNumber = slotInfo.getCardNumber();
+
+ // 璋冭瘯鍗曚釜鍗℃Ы
+ if (i < 5) { // 鍙墦鍗板墠5涓崱妲界殑璋冭瘯淇℃伅
+ System.out.printf("鍒锋柊鍗℃Ы %d: hasCard=%s, cardNumber=%s%n",
+ i + 1, hasCardStatus, cardNumber);
+ }
+
+ // 绠�鍖栫殑鍒ゆ柇閫昏緫 - 閲嶇偣璋冭瘯
boolean reallyHasCard = false;
+
if ("1".equals(hasCardStatus)) {
- Fkj slotInfo = slotManager.getSlotInfo(slotId);
- String cardNumber = slotInfo != null ? slotInfo.getCardNumber() : "-1";
- // 鍙湁褰撳崱鍙蜂笉鏄�-1銆乶ull涓斾笉涓虹┖鏃讹紝鎵嶈涓虹湡姝f湁鍗�
- reallyHasCard = !("-1".equals(cardNumber) && cardNumber != null && !cardNumber.trim().isEmpty());
+ // 濡傛灉hasCard涓�"1"锛岃繘涓�姝ユ鏌ュ崱鍙�
+ if (cardNumber != null && !cardNumber.trim().isEmpty()) {
+ // 鏀惧鏉′欢锛氬彧瑕佸崱鍙蜂笉涓虹┖涓斾笉鏄�"0000"鍜�"-1"锛屽氨璁や负鏈夊崱
+ reallyHasCard = !"0000".equals(cardNumber) && !"-1".equals(cardNumber);
+ } else {
+ // 鍗″彿涓簄ull鎴栫┖锛屼絾鏈夊崱鐘舵�佷负1锛屾樉绀轰负鏈夊崱浣嗗崱鍙锋湭鐭�
+ reallyHasCard = true;
+ }
}
SlotStatus newStatus = reallyHasCard ? SlotStatus.HAS_CARD : SlotStatus.NO_CARD;
- SlotStatus currentStatus = slotStatuses.get(i);
- // 妫�鏌ョ姸鎬佹槸鍚﹀彂鐢熷彉鍖�
- if (newStatus != currentStatus) {
- slotStatuses.set(i, newStatus);
+ // 纭繚slotStatuses鏈夎冻澶熺殑鍏冪礌
+ if (i >= slotStatuses.size()) {
+ slotStatuses.add(newStatus);
statusChanged = true;
+ } else {
+ SlotStatus currentStatus = slotStatuses.get(i);
+ if (newStatus != currentStatus) {
+ slotStatuses.set(i, newStatus);
+ statusChanged = true;
+
+ // 璋冭瘯鐘舵�佸彉鍖�
+ System.out.printf("鍗℃Ы %d 鐘舵�佸彉鍖�: %s -> %s (hasCard=%s, cardNumber=%s)%n",
+ i + 1, currentStatus, newStatus, hasCardStatus, cardNumber);
+ }
}
+
+ // 鏇存柊鎸夐挳鏄剧ず
+ updateSlotButtonDisplay(i, slotInfo, newStatus);
}
- // 濡傛灉鐘舵�佸彂鐢熷彉鍖栵紝鏇存柊鏄剧ず
+ // 濡傛灉鐘舵�佸彂鐢熷彉鍖栵紝鏇存柊缁熻淇℃伅
if (statusChanged) {
- updateCardSlotsDisplay();
updateStatistics();
- } else {
- // 鍗充娇鐘舵�佹病鍙橈紝涔熻妫�鏌ュ崱鍙锋槸鍚︽洿鏂�
- updateCardSlotsDisplay();
- }
- }
- /**
- * 璁板綍杩涘叆蹇�熷彇鍗¢〉闈㈠墠鐨勮疆璇㈢姸鎬�
- */
- private void recordPollingStateBeforeEntering() {
- wasPollingRunning = chushihua.lunxun.isPolling();
- wasPollingPaused = chushihua.lunxun.isPaused();
- //System.out.println("杩涘叆蹇�熷彇鍗¢〉闈紝璁板綍杞鐘舵�� - 杩愯: " + wasPollingRunning + ", 鏆傚仠: " + wasPollingPaused);
- }
-
- /**
- * 杩涘叆蹇�熷彇鍗¢〉闈㈡椂鏆傚仠杞
- */
- private void pausePollingWhenEntering() {
- if (chushihua.lunxun.isPolling() && !chushihua.lunxun.isPaused()) {
- chushihua.lunxun.pausePolling();
- System.out.println("杩涘叆蹇�熷彇鍗¢〉闈紝杞宸叉殏鍋�");
}
}
- /**
- * 閫�鍑哄揩閫熷彇鍗¢〉闈㈡椂鎭㈠杞
- */
- private void resumePollingWhenExiting() {
- // 鍙湁杩涘叆蹇�熷彇鍗¢〉闈㈡椂杞鏄繍琛岀姸鎬佷笖鏈鏆傚仠锛屾墠鎭㈠杞
- if (wasPollingRunning && !wasPollingPaused) {
- if (chushihua.lunxun.isPolling() && chushihua.lunxun.isPaused()) {
- chushihua.lunxun.resumePolling();
- System.out.println("閫�鍑哄揩閫熷彇鍗¢〉闈紝杞宸叉仮澶�");
+ private void updateSlotButtonDisplay(int index, Fkj slotInfo, SlotStatus status) {
+ if (index < 0 || index >= slotButtons.size()) {
+ return;
+ }
+
+ JButton slotButton = slotButtons.get(index);
+
+ // 鏇存柊鎸夐挳鑳屾櫙棰滆壊
+ slotButton.setBackground(status.getColor());
+
+ // 鏇存柊鐘舵�佹爣绛�
+ Component[] components = slotButton.getComponents();
+ for (Component comp : components) {
+ if (comp instanceof JLabel) {
+ JLabel label = (JLabel) comp;
+ // 鎵惧埌鐘舵�佹爣绛撅紙杈冨皬鐨勫瓧浣擄級
+ if (label.getFont().getSize() == 11) {
+ String displayText;
+ if (status == SlotStatus.HAS_CARD) {
+ // 鏄剧ず瀹為檯鍗″彿锛屽鏋滃崱鍙锋棤鏁堝垯鏄剧ず"鏈夊崱"
+ String cardNumber = slotInfo.getCardNumber();
+ if (cardNumber != null && !cardNumber.trim().isEmpty() &&
+ !"0000".equals(cardNumber) && !"-1".equals(cardNumber)) {
+ displayText = cardNumber;
+ } else {
+ displayText = "鏈夊崱";
+ }
+ } else {
+ displayText = "鏃犲崱";
+ }
+ label.setText(displayText);
+ break;
+ }
}
- } else {
- //System.out.println("閫�鍑哄揩閫熷彇鍗¢〉闈紝淇濇寔鍘熸湁杞鐘舵�� - 杩愯: " + wasPollingRunning + ", 鏆傚仠: " + wasPollingPaused);
}
}
@@ -332,53 +384,98 @@
}
private void initializeSlots() {
- // 浠� SlotManager 鑾峰彇鍗℃Ы鐘舵��
- for (int i = 0; i < 60; i++) {
- int slotId = i + 1;
- String hasCardStatus = SlotManager.getSlotHasCardStatus(slotId);
-
- // 妫�鏌ユ槸鍚︽湁鍗″苟涓旀湁鏈夋晥鐨勫崱鍙�
- boolean reallyHasCard = false;
- if ("1".equals(hasCardStatus)) {
- Fkj slotInfo = slotManager.getSlotInfo(slotId);
- String cardNumber = slotInfo != null ? slotInfo.getCardNumber() : "-1";
- // 鍙湁褰撳崱鍙蜂笉鏄�-1銆乶ull涓斾笉涓虹┖鏃讹紝鎵嶈涓虹湡姝f湁鍗�
- reallyHasCard = !("-1".equals(cardNumber) && cardNumber != null && !cardNumber.trim().isEmpty());
+ // 娓呯┖鐜版湁鐘舵��
+ slotStatuses.clear();
+
+ // 鐩存帴浠� SlotManager 鑾峰彇鏈�鏂版暟鎹�
+ Fkj[] slotArray = SlotManager.getSlotArray();
+
+ //System.out.println("鍒濆鍖栧崱妲界姸鎬侊紝slotArray: " + (slotArray != null ? "闈炵┖" : "绌�"));
+
+ if (slotArray != null) {
+ for (int i = 0; i < 60 && i < slotArray.length; i++) {
+ Fkj slotInfo = slotArray[i];
+ SlotStatus status = SlotStatus.NO_CARD;
+
+ if (slotInfo != null) {
+ String hasCardStatus = slotInfo.getHasCard();
+ String cardNumber = slotInfo.getCardNumber();
+
+ // 绠�鍖栫殑鍒ゆ柇閫昏緫
+ boolean reallyHasCard = false;
+
+ if ("1".equals(hasCardStatus)) {
+ if (cardNumber != null && !cardNumber.trim().isEmpty()) {
+ reallyHasCard = !"0000".equals(cardNumber) && !"-1".equals(cardNumber);
+ } else {
+ // 鍗″彿涓簄ull鎴栫┖锛屼絾鏈夊崱鐘舵�佷负1锛屾樉绀轰负鏈夊崱
+ reallyHasCard = true;
+ }
+ }
+
+ status = reallyHasCard ? SlotStatus.HAS_CARD : SlotStatus.NO_CARD;
+
+ // 璋冭瘯鍓嶅嚑涓崱妲�
+ if (i < 5) {
+ System.out.printf("鍒濆鍖栧崱妲� %d: hasCard=%s, cardNumber=%s, 鍒ゆ柇涓�: %s%n",
+ i + 1, hasCardStatus, cardNumber, status);
+ }
+ }
+
+ slotStatuses.add(status);
}
-
- SlotStatus status = reallyHasCard ? SlotStatus.HAS_CARD : SlotStatus.NO_CARD;
- slotStatuses.add(status);
+ } else {
+ // 濡傛灉slotArray涓簄ull锛屽叏閮ㄥ垵濮嬪寲涓烘棤鍗�
+ //System.out.println("slotArray涓簄ull锛屽叏閮ㄥ垵濮嬪寲涓烘棤鍗�");
+ for (int i = 0; i < 60; i++) {
+ slotStatuses.add(SlotStatus.NO_CARD);
+ }
}
createCardSlots();
updateStatistics();
+
+ // 绔嬪嵆鍒锋柊涓�娆$姸鎬�
+ refreshSlotStatusFromManager();
}
private void createCardSlots() {
cardSlotsPanel.removeAll();
slotButtons.clear();
+ Fkj[] slotArray = SlotManager.getSlotArray();
+
for (int i = 0; i < 60; i++) {
final int slotId = i + 1;
- SlotStatus status = slotStatuses.get(i);
+
+ // 鑾峰彇褰撳墠鍗℃Ы鐨勫疄闄呯姸鎬�
+ Fkj slotInfo = null;
+ if (slotArray != null && i < slotArray.length) {
+ slotInfo = slotArray[i];
+ }
+
+ SlotStatus currentStatus = i < slotStatuses.size() ? slotStatuses.get(i) : SlotStatus.NO_CARD;
+
+ // 鍒涘缓 final 鍓湰鐢ㄤ簬鍐呴儴绫�
+ final SlotStatus finalStatus = currentStatus;
JButton slotButton = new JButton();
slotButton.setLayout(new BorderLayout());
- slotButton.setBackground(status.getColor());
+ slotButton.setBackground(currentStatus.getColor());
slotButton.setForeground(Color.WHITE);
slotButton.setFocusPainted(false);
slotButton.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5));
- // 娣诲姞榧犳爣鎮仠鏁堟灉
+ // 娣诲姞榧犳爣鎮仠鏁堟灉 - 浣跨敤 finalStatus 鑰屼笉鏄� status
slotButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
- if (status == SlotStatus.HAS_CARD) {
- slotButton.setBackground(brighterColor(status.getColor()));
+ if (finalStatus == SlotStatus.HAS_CARD) {
+ slotButton.setBackground(brighterColor(finalStatus.getColor()));
}
}
public void mouseExited(java.awt.event.MouseEvent evt) {
- slotButton.setBackground(status.getColor());
+ slotButton.setBackground(finalStatus.getColor());
}
});
@@ -387,14 +484,16 @@
slotIdLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 16));
slotIdLabel.setForeground(Color.WHITE);
- // 鍗℃Ы鐘舵�� - 淇敼锛氭湁鍗℃椂鏄剧ず鍗″彿锛屾棤鍗℃椂鏄剧ず"鏃犲崱"
+ // 鍗℃Ы鐘舵�� - 鏍规嵁瀹為檯鐘舵�佹樉绀�
String displayText;
- if (status == SlotStatus.HAS_CARD) {
- // 浠嶴lotManager鑾峰彇鍗″彿
- Fkj slotInfo = slotManager.getSlotInfo(slotId);
- String cardNumber = slotInfo != null ? slotInfo.getCardNumber() : "-1";
- // 鏄剧ず瀹為檯鍗″彿
- displayText = cardNumber;
+ if (currentStatus == SlotStatus.HAS_CARD && slotInfo != null) {
+ String cardNumber = slotInfo.getCardNumber();
+ if (cardNumber != null && !cardNumber.trim().isEmpty() &&
+ !"0000".equals(cardNumber) && !"-1".equals(cardNumber)) {
+ displayText = cardNumber;
+ } else {
+ displayText = "鏈夊崱";
+ }
} else {
displayText = "鏃犲崱";
}
@@ -442,62 +541,23 @@
}
}
-
-
- // 浼樺寲鐨勫崱妲芥樉绀烘洿鏂�
- // 淇敼鏇存柊鍗℃Ы鏄剧ず鐨勬柟娉�
- private void updateCardSlotsDisplay() {
- for (int i = 0; i < 60; i++) {
- JButton slotButton = slotButtons.get(i);
- SlotStatus status = slotStatuses.get(i);
-
- // 鍙洿鏂版敼鍙樼殑鐘舵��
- if (!slotButton.getBackground().equals(status.getColor())) {
- slotButton.setBackground(status.getColor());
- }
-
- // 鏇存柊鐘舵�佹爣绛� - 淇敼锛氭湁鍗℃椂鏄剧ず鍗″彿锛屾棤鍗℃椂鏄剧ず"鏃犲崱"
- Component[] components = slotButton.getComponents();
- for (Component comp : components) {
- if (comp instanceof JLabel) {
- JLabel label = (JLabel) comp;
- // 鎵惧埌鐘舵�佹爣绛撅紙杈冨皬鐨勫瓧浣擄級
- if (label.getFont().getSize() == 11) {
- String displayText;
- if (status == SlotStatus.HAS_CARD) {
- // 浠嶴lotManager鑾峰彇鍗″彿
- Fkj slotInfo = slotManager.getSlotInfo(i + 1);
- String cardNumber = slotInfo != null ? slotInfo.getCardNumber() : "-1";
- // 鏄剧ず瀹為檯鍗″彿
- displayText = cardNumber;
- } else {
- displayText = "鏃犲崱";
- }
- label.setText(displayText);
- break;
- }
- }
- }
- }
-
- cardSlotsPanel.revalidate();
- cardSlotsPanel.repaint();
- }
-
private void openAllSlots() {
- Sendmsg.openAllSlots(2);
+ Sendmsg.openAllSlots(2);
}
// 浼樺寲鐨勭粺璁¤绠�
private void updateStatistics() {
int hasCardCount = 0;
- for (SlotStatus status : slotStatuses) {
- if (status == SlotStatus.HAS_CARD) {
+ for (int i = 0; i < 60 && i < slotStatuses.size(); i++) {
+ if (slotStatuses.get(i) == SlotStatus.HAS_CARD) {
hasCardCount++;
}
}
cardsCountLabel.setText("鏈夊崱: " + hasCardCount + "/60");
+
+ // 璋冭瘯缁熻淇℃伅
+ //System.out.println("鏇存柊缁熻淇℃伅: 鏈夊崱 " + hasCardCount + "/60");
}
private Color brighterColor(Color color) {
@@ -547,19 +607,10 @@
if (slotStatuses != null) {
slotStatuses.clear();
}
- if (progressDialog != null) {
- progressDialog.dispose();
- progressDialog = null;
- }
- if (resultDialog != null) {
- resultDialog.dispose();
- resultDialog = null;
- }
-
- // 鎭㈠杞鐘舵��
- resumePollingWhenExiting();
super.dispose();
+
+ //System.out.println("蹇�熷彇鍗¢〉闈㈠凡鍏抽棴");
}
// 闈欐�佹柟娉曪細浠庣郴缁熻缃〉闈㈣皟鐢�
--
Gitblit v1.9.3