From a6077217e25f5804027194a5c2848e773eda1abd Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 21 十一月 2025 15:47:17 +0800
Subject: [PATCH] 修改
---
src/xitongshezhi/kuaisuquka.java | 223 +------------------------------------------------------
1 files changed, 7 insertions(+), 216 deletions(-)
diff --git a/src/xitongshezhi/kuaisuquka.java b/src/xitongshezhi/kuaisuquka.java
index c1ba92e..048e7ca 100644
--- a/src/xitongshezhi/kuaisuquka.java
+++ b/src/xitongshezhi/kuaisuquka.java
@@ -1,5 +1,4 @@
package xitongshezhi;
-
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
@@ -10,11 +9,11 @@
import java.util.List;
import java.util.Map;
-// 鏂板瀵煎叆
-import publicway.OpenDoor;
import chuankou.Sendmsg;
import chushihua.SlotManager;
+import home.Fkj;
+@SuppressWarnings("serial")
public class kuaisuquka extends JDialog {
// 灞忓箷灏哄甯搁噺 - 閫傞厤7瀵哥珫灞�
private static final int SCREEN_WIDTH = 600;
@@ -26,14 +25,9 @@
private static final Color PRIMARY_COLOR = new Color(52, 152, 219);
private static final Color PRIMARY_DARK_COLOR = new Color(41, 128, 185);
private static final Color SECONDARY_COLOR = new Color(46, 204, 113);
- private static final Color DANGER_COLOR = new Color(231, 76, 60);
- private static final Color WARNING_COLOR = new Color(243, 156, 18);
private static final Color DARK_COLOR = new Color(15, 28, 48);
- private static final Color DARK_LIGHT_COLOR = new Color(26, 43, 68);
private static final Color TEXT_COLOR = new Color(224, 224, 224);
private static final Color TEXT_LIGHT_COLOR = new Color(160, 200, 255);
- private static final Color CARD_BG_COLOR = new Color(30, 60, 114, 178);
-
// 浼樺寲鐨勯鑹插父閲�
private static final Color BRIGHT_GREEN = new Color(46, 204, 113); // 鏈夊崱 - 缁胯壊
private static final Color DARK_GRAY = new Color(93, 109, 126); // 鏃犲崱 - 娣辩伆鑹�
@@ -46,16 +40,10 @@
HAS_CARD("{鍗″彿}", BRIGHT_GREEN), // 鍗犱綅绗︼紝瀹為檯鏄剧ず鏃朵細鏇挎崲涓哄叿浣撳崱鍙�
NO_CARD("鏃犲崱", DARK_GRAY);
- private final String displayName;
private final Color color;
SlotStatus(String displayName, Color color) {
- this.displayName = displayName;
this.color = color;
- }
-
- public String getDisplayName() {
- return displayName;
}
public Color getColor() {
@@ -74,8 +62,6 @@
// 浼樺寲鐨勫璇濇绠$悊
private JDialog progressDialog;
- private JProgressBar progressBar;
- private JLabel progressLabel;
private JDialog resultDialog;
// 鍏变韩鐨勪簨浠剁洃鍚櫒
@@ -159,7 +145,7 @@
private void recordPollingStateBeforeEntering() {
wasPollingRunning = chushihua.lunxun.isPolling();
wasPollingPaused = chushihua.lunxun.isPaused();
- System.out.println("杩涘叆蹇�熷彇鍗¢〉闈紝璁板綍杞鐘舵�� - 杩愯: " + wasPollingRunning + ", 鏆傚仠: " + wasPollingPaused);
+ //System.out.println("杩涘叆蹇�熷彇鍗¢〉闈紝璁板綍杞鐘舵�� - 杩愯: " + wasPollingRunning + ", 鏆傚仠: " + wasPollingPaused);
}
/**
@@ -183,7 +169,7 @@
System.out.println("閫�鍑哄揩閫熷彇鍗¢〉闈紝杞宸叉仮澶�");
}
} else {
- System.out.println("閫�鍑哄揩閫熷彇鍗¢〉闈紝淇濇寔鍘熸湁杞鐘舵�� - 杩愯: " + wasPollingRunning + ", 鏆傚仠: " + wasPollingPaused);
+ //System.out.println("閫�鍑哄揩閫熷彇鍗¢〉闈紝淇濇寔鍘熸湁杞鐘舵�� - 杩愯: " + wasPollingRunning + ", 鏆傚仠: " + wasPollingPaused);
}
}
@@ -285,7 +271,6 @@
openAllButton.setForeground(Color.WHITE);
openAllButton.setFocusPainted(false);
openAllButton.setBorder(BorderFactory.createEmptyBorder(12, 24, 12, 24));
- openAllButton.setIcon(getCachedIcon("馃毆", 20));
openAllButton.addActionListener(e -> openAllSlots());
// 娣诲姞鎮仠鏁堟灉
@@ -447,14 +432,7 @@
JLabel label = (JLabel) comp;
try {
int slotId = Integer.parseInt(label.getText());
- SlotStatus status = slotStatuses.get(slotId - 1);
-
- // 濡傛灉鏄湁鍗$姸鎬侊紝鎵ц鍙栧崱鎿嶄綔
- if (status == SlotStatus.HAS_CARD) {
- takeCard(slotId);
- }
- // 鍙戦�佸紑闂ㄦ寚浠わ紙涓嶇鏄惁鏈夊崱锛�
- sendOpenDoorCommand(slotId);
+ Sendmsg.opendoorzhiling(slotId,2);
break;
} catch (NumberFormatException ex) {
// 蹇界暐闈炴暟瀛楁爣绛�
@@ -464,38 +442,7 @@
}
}
- // 鏂板鏂规硶锛氬彂閫佸崟涓崱妲藉紑闂ㄦ寚浠�
- private void sendOpenDoorCommand(int slotId) {
- try {
- // 鐢熸垚寮�闂ㄦ寚浠�
- String command = OpenDoor.openOneDoor(slotId, OpenDoor.TYPE_ADMIN);
-
- // 鍙戦�佷覆鍙f寚浠�
- boolean sent = Sendmsg.sendMessage(command);
-
- if (sent) {
- System.out.println("鎴愬姛鍙戦�佸紑闂ㄦ寚浠ゅ埌鍗℃Ы " + slotId);
- } else {
- System.err.println("鍙戦�佸紑闂ㄦ寚浠ゅ埌鍗℃Ы " + slotId + " 澶辫触");
- }
- } catch (Exception e) {
- System.err.println("鐢熸垚寮�闂ㄦ寚浠ゅけ璐�: " + e.getMessage());
- e.printStackTrace();
- }
- }
- private void takeCard(int slotId) {
- int index = slotId - 1;
-
- // 鏇存柊鍗℃Ы鐘舵�佷负鏃犲崱
- slotStatuses.set(index, SlotStatus.NO_CARD);
-
- // 璋冪敤 SlotManager 鏇存柊鐘舵��
- slotManager.setSlotHasCard(slotId, "0");
-
- updateCardSlotsDisplay();
- updateStatistics();
- }
// 浼樺寲鐨勫崱妲芥樉绀烘洿鏂�
// 淇敼鏇存柊鍗℃Ы鏄剧ず鐨勬柟娉�
@@ -537,63 +484,8 @@
cardSlotsPanel.repaint();
}
- private void openAllSlots() {
- int openedCount = 0;
-
- // 鏇存柊鎵�鏈夋湁鍗″崱妲戒负鏃犲崱
- for (int i = 0; i < slotStatuses.size(); i++) {
- if (slotStatuses.get(i) == SlotStatus.HAS_CARD) {
- slotStatuses.set(i, SlotStatus.NO_CARD);
- // 璋冪敤 SlotManager 鏇存柊鐘舵��
- slotManager.setSlotHasCard(i + 1, "0");
- openedCount++;
- }
- }
-
- if (openedCount > 0) {
- updateCardSlotsDisplay();
- updateStatistics();
- }
-
- // 淇敼锛氱洿鎺ヨ皟鐢ㄤ覆鍙e彂閫佹柟娉曪紝涓嶆樉绀鸿繘搴﹀璇濇
- openAllSlotsWithSerialCommands(openedCount);
- }
-
- // 鏂板鏂规硶锛氶�氳繃涓插彛鍙戦�佸紑闂ㄦ寚浠�
- private void openAllSlotsWithSerialCommands(int openedCount) {
- // 淇敼锛氱洿鎺ヨ皟鐢∣penDoor鐨勫紓姝ュ紑闂ㄦ柟娉曪紝涓嶆樉绀鸿繘搴﹀璇濇
- OpenDoor.openAllSlotsAsync(60, 250, OpenDoor.TYPE_ADMIN, new OpenDoor.OpenDoorCallback() {
- @Override
- public void onProgress(int currentSlot, int totalSlots, String command) {
- // 鍙戦�佷覆鍙f寚浠�
- boolean sent = Sendmsg.sendMessage(command);
- if (!sent) {
- System.err.println("鍙戦�佹寚浠ゅけ璐�: " + command);
- }
- }
-
- @Override
- public void onComplete(String[] commands) {
- SwingUtilities.invokeLater(() -> {
- String message;
- if (openedCount > 0) {
- message = "宸叉垚鍔熸墦寮�鍏ㄩ儴 " + openedCount + " 涓湁鍗″崱妲絓n鍙戦�佷簡 " + commands.length + " 鏉″紑闂ㄦ寚浠�";
- } else {
- message = "宸插彂閫� " + commands.length + " 鏉″紑闂ㄦ寚浠ゅ埌鎵�鏈夊崱妲�";
- }
- showResultDialog("success", "鎿嶄綔鎴愬姛", message);
- });
- }
-
- @Override
- public void onError(Exception error) {
- SwingUtilities.invokeLater(() -> {
- showResultDialog("error", "鎿嶄綔澶辫触",
- "鍙戦�佸紑闂ㄦ寚浠ゆ椂鍙戠敓閿欒: " + error.getMessage());
- error.printStackTrace();
- });
- }
- });
+ private void openAllSlots() {
+ Sendmsg.openAllSlots(2);
}
// 浼樺寲鐨勭粺璁¤绠�
@@ -606,107 +498,6 @@
}
cardsCountLabel.setText("鏈夊崱: " + hasCardCount + "/60");
- }
-
- // 浼樺寲鐨勭粨鏋滃璇濇鏄剧ず
- private void showResultDialog(String type, String title, String message) {
- if (resultDialog == null) {
- createResultDialog();
- }
- updateResultDialog(type, title, message);
- resultDialog.setVisible(true);
- }
-
- private void createResultDialog() {
- resultDialog = new JDialog(this, "", true);
- resultDialog.setSize(400, 250);
- resultDialog.setLocationRelativeTo(this);
- resultDialog.setResizable(false);
- resultDialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
-
- JPanel contentPanel = new JPanel();
- contentPanel.setLayout(new BorderLayout());
- contentPanel.setBorder(new EmptyBorder(25, 25, 25, 25));
- contentPanel.setBackground(DARK_LIGHT_COLOR);
-
- // 鍥炬爣鍜屾爣棰�
- JPanel headerPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
- headerPanel.setOpaque(false);
-
- JLabel iconLabel = new JLabel();
- iconLabel.setFont(new Font("Segoe UI Emoji", Font.PLAIN, 32));
-
- JLabel titleLabel = new JLabel();
- titleLabel.setFont(new Font("Microsoft YaHei", Font.BOLD, 20));
- titleLabel.setForeground(TEXT_COLOR);
-
- headerPanel.add(iconLabel);
- headerPanel.add(Box.createRigidArea(new Dimension(10, 0)));
- headerPanel.add(titleLabel);
-
- // 娑堟伅鍐呭
- JLabel messageLabel = new JLabel();
- messageLabel.setFont(new Font("Microsoft YaHei", Font.PLAIN, 14));
- messageLabel.setForeground(TEXT_LIGHT_COLOR);
- messageLabel.setHorizontalAlignment(SwingConstants.CENTER);
- messageLabel.setBorder(new EmptyBorder(15, 0, 25, 0));
-
- // 纭畾鎸夐挳
- JButton confirmButton = new JButton("纭畾");
- confirmButton.setFont(new Font("Microsoft YaHei", Font.BOLD, 14));
- confirmButton.setBackground(SECONDARY_COLOR);
- confirmButton.setForeground(Color.WHITE);
- confirmButton.setFocusPainted(false);
- confirmButton.setBorder(BorderFactory.createEmptyBorder(10, 30, 10, 30));
- confirmButton.addActionListener(e -> resultDialog.dispose());
-
- // 娣诲姞鎮仠鏁堟灉
- confirmButton.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseEntered(java.awt.event.MouseEvent evt) {
- confirmButton.setBackground(brighterColor(SECONDARY_COLOR));
- }
-
- public void mouseExited(java.awt.event.MouseEvent evt) {
- confirmButton.setBackground(SECONDARY_COLOR);
- }
- });
-
- JPanel buttonPanel = new JPanel();
- buttonPanel.setOpaque(false);
- buttonPanel.add(confirmButton);
-
- contentPanel.add(headerPanel, BorderLayout.NORTH);
- contentPanel.add(messageLabel, BorderLayout.CENTER);
- contentPanel.add(buttonPanel, BorderLayout.SOUTH);
-
- resultDialog.add(contentPanel);
- }
-
- private void updateResultDialog(String type, String title, String message) {
- resultDialog.setTitle(title);
-
- Component[] components = ((JPanel)resultDialog.getContentPane().getComponent(0)).getComponents();
-
- // 鏇存柊鍥炬爣鍜屾爣棰�
- JPanel headerPanel = (JPanel) components[0];
- JLabel iconLabel = (JLabel) headerPanel.getComponent(0);
- JLabel titleLabel = (JLabel) headerPanel.getComponent(2);
-
- if ("success".equals(type)) {
- iconLabel.setText("鉁�");
- } else if ("warning".equals(type)) {
- iconLabel.setText("鈿狅笍");
- } else if ("error".equals(type)) {
- iconLabel.setText("鉂�");
- } else {
- iconLabel.setText("鈩癸笍");
- }
-
- titleLabel.setText(title);
-
- // 鏇存柊娑堟伅
- JLabel messageLabel = (JLabel) components[1];
- messageLabel.setText("<html><div style='text-align: center;'>" + message.replace("\n", "<br>") + "</div></html>");
}
private Color brighterColor(Color color) {
--
Gitblit v1.9.3