From 69b40096cb0ae965f2a3e92672b880edfe7d04d2 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 21:14:09 +0800
Subject: [PATCH] 优化了登录页面
---
src/denglu/Denglu.java | 134 +++++++++++---------------------------------
1 files changed, 33 insertions(+), 101 deletions(-)
diff --git a/src/denglu/Denglu.java b/src/denglu/Denglu.java
index 31ab615..6c46648 100644
--- a/src/denglu/Denglu.java
+++ b/src/denglu/Denglu.java
@@ -10,6 +10,7 @@
import user.Usrdell;
import Mqttmessage.Client;
import login.LoginVerifier;
+import publicway.buttonset;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
@@ -22,11 +23,10 @@
private JPasswordField passwordField;
private JCheckBox rememberMe;
private JButton loginButton;
- private JButton registerButton;
private Map<String, Map<String, String>> translations;
private JPanel mainPanel;
private JLabel usernameLabel, passwordLabel;
- private JLabel forgotPassword, noAccountLabel, signupLink, appInfoLabel;
+ private JLabel forgotPassword, noAccountLabel, signupLink;
// 涓婚棰滆壊
private final Color THEME_COLOR = new Color(46, 139, 87);
@@ -56,7 +56,6 @@
zh.put("sign_up", "绔嬪嵆娉ㄥ唽");
zh.put("app_title", "鏅鸿兘鍓茶崏绯荤粺");
zh.put("window_title", "鏅鸿兘鍓茶崏绯荤粺 - 鐧诲綍");
- zh.put("app_info", "鏅鸿兘鍓茶崏绯荤粺 漏 2023 - 鏅鸿兘鍓茶崏瑙e喅鏂规");
zh.put("register_button", "娉ㄥ唽鏂拌处鎴�");
translations.put("zh", zh);
@@ -71,7 +70,6 @@
en.put("sign_up", "Sign Up");
en.put("app_title", "Smart Mowing System");
en.put("window_title", "Smart Mowing System - Login");
- en.put("app_info", "Smart Mowing System 漏 2023 - Intelligent Lawn Care");
en.put("register_button", "Create New Account");
translations.put("en", en);
@@ -86,7 +84,6 @@
es.put("sign_up", "Reg铆strate");
es.put("app_title", "Sistema de Corte Inteligente");
es.put("window_title", "Sistema de Corte Inteligente - Iniciar Sesi贸n");
- es.put("app_info", "Sistema de Corte Inteligente 漏 2023 - Soluciones Inteligentes");
es.put("register_button", "Crear Nueva Cuenta");
translations.put("es", es);
@@ -101,7 +98,6 @@
fr.put("sign_up", "S'inscrire");
fr.put("app_title", "Syst猫me de Tonte Intelligent");
fr.put("window_title", "Syst猫me de Tonte Intelligent - Connexion");
- fr.put("app_info", "Syst猫me de Tonte Intelligent 漏 2023 - Solutions de Tonte");
fr.put("register_button", "Cr茅er un Nouveau Compte");
translations.put("fr", fr);
@@ -116,7 +112,6 @@
de.put("sign_up", "Registrieren");
de.put("app_title", "Intelligentes M盲hsystem");
de.put("window_title", "Intelligentes M盲hsystem - Anmeldung");
- de.put("app_info", "Intelligentes M盲hsystem 漏 2023 - M盲hl枚sungen");
de.put("register_button", "Neues Konto Erstellen");
translations.put("de", de);
}
@@ -158,12 +153,12 @@
// 涓昏〃鍗曞尯鍩�
JPanel formPanel = createFormPanel();
- // 搴曢儴搴旂敤淇℃伅
- JPanel appInfoPanel = createAppInfoPanel();
+ // 搴曢儴闈㈡澘锛堝寘鍚敞鍐岄摼鎺ワ級
+ JPanel bottomPanel = createBottomPanel();
mainPanel.add(topPanel, BorderLayout.NORTH);
mainPanel.add(formPanel, BorderLayout.CENTER);
- mainPanel.add(appInfoPanel, BorderLayout.SOUTH);
+ mainPanel.add(bottomPanel, BorderLayout.SOUTH);
add(mainPanel);
}
@@ -226,75 +221,21 @@
rememberForgotPanel.add(rememberMe, BorderLayout.WEST);
rememberForgotPanel.add(forgotPassword, BorderLayout.EAST);
- // 鐧诲綍鎸夐挳 - 姘村钩灞呬腑锛岄暱搴︿笌鏂囨湰妗嗗搴︿繚鎸佺浉杩�
+ // 鐧诲綍鎸夐挳 - 浣跨敤buttonset鍒涘缓锛屾按骞冲眳涓紝闀垮害涓庢枃鏈瀹藉害淇濇寔鐩歌繎
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
buttonPanel.setBackground(Color.WHITE);
buttonPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 50));
- loginButton = new JButton("鐧诲綍");
- loginButton.setBackground(THEME_COLOR);
- loginButton.setForeground(Color.WHITE);
+ // 浣跨敤buttonset鍒涘缓鐧诲綍鎸夐挳锛屼娇鐢ㄤ富棰樿壊
+ loginButton = buttonset.createStyledButton("鐧诲綍", THEME_COLOR);
loginButton.setFont(new Font("PingFang SC", Font.BOLD, 15));
// 璁剧疆鐧诲綍鎸夐挳闀垮害鎺ヨ繎鏂囨湰妗嗗搴�
loginButton.setPreferredSize(new Dimension(300, 48));
- loginButton.setBorderPainted(false);
- loginButton.setFocusPainted(false);
- loginButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
-
- // 榧犳爣鎮仠鏁堟灉
- loginButton.addMouseListener(new MouseAdapter() {
- public void mouseEntered(MouseEvent e) {
- loginButton.setBackground(THEME_HOVER_COLOR);
- }
- public void mouseExited(MouseEvent e) {
- loginButton.setBackground(THEME_COLOR);
- }
- });
+ loginButton.setMinimumSize(new Dimension(300, 48));
+ loginButton.setMaximumSize(new Dimension(300, 48));
buttonPanel.add(loginButton);
- // 娉ㄥ唽鎸夐挳 - 鏇存槑鏄剧殑娉ㄥ唽鍏ュ彛
- JPanel registerButtonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
- registerButtonPanel.setBackground(Color.WHITE);
- registerButtonPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 45));
-
- registerButton = new JButton("娉ㄥ唽鏂拌处鎴�");
- registerButton.setBackground(Color.WHITE);
- registerButton.setForeground(THEME_COLOR);
- registerButton.setFont(new Font("PingFang SC", Font.BOLD, 14));
- registerButton.setPreferredSize(new Dimension(180, 42));
- registerButton.setBorder(BorderFactory.createCompoundBorder(
- BorderFactory.createLineBorder(THEME_COLOR),
- BorderFactory.createEmptyBorder(5, 15, 5, 15)
- ));
- registerButton.setFocusPainted(false);
- registerButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
-
- // 娉ㄥ唽鎸夐挳鎮仠鏁堟灉
- registerButton.addMouseListener(new MouseAdapter() {
- public void mouseEntered(MouseEvent e) {
- registerButton.setBackground(new Color(240, 250, 240));
- }
- public void mouseExited(MouseEvent e) {
- registerButton.setBackground(Color.WHITE);
- }
- });
-
- registerButtonPanel.add(registerButton);
-
- // 娉ㄥ唽閾炬帴锛堜繚鐣欏師鏈夌殑鏂囨湰閾炬帴锛�
- JPanel signupPanel = new JPanel();
- signupPanel.setBackground(Color.WHITE);
- noAccountLabel = new JLabel("杩樻病鏈夎处鎴凤紵 ");
- noAccountLabel.setFont(new Font("PingFang SC", Font.PLAIN, 12));
- noAccountLabel.setForeground(new Color(120, 120, 120));
- signupLink = new JLabel("绔嬪嵆娉ㄥ唽");
- signupLink.setFont(new Font("PingFang SC", Font.BOLD, 12));
- signupLink.setForeground(THEME_COLOR);
- signupLink.setCursor(new Cursor(Cursor.HAND_CURSOR));
- signupPanel.add(noAccountLabel);
- signupPanel.add(signupLink);
-
// 缁勮琛ㄥ崟
formPanel.add(Box.createRigidArea(new Dimension(0, 15)));
formPanel.add(usernameLabel);
@@ -308,26 +249,33 @@
formPanel.add(rememberForgotPanel);
formPanel.add(Box.createRigidArea(new Dimension(0, 20)));
formPanel.add(buttonPanel); // 鐧诲綍鎸夐挳
- formPanel.add(Box.createRigidArea(new Dimension(0, 15)));
- formPanel.add(registerButtonPanel); // 娉ㄥ唽鎸夐挳
- formPanel.add(Box.createRigidArea(new Dimension(0, 15)));
- formPanel.add(signupPanel); // 淇濈暀鍘熸湁鐨勬敞鍐岄摼鎺�
return formPanel;
}
- private JPanel createAppInfoPanel() {
- JPanel appInfoPanel = new JPanel();
- appInfoPanel.setBackground(Color.WHITE);
- appInfoPanel.setBorder(BorderFactory.createEmptyBorder(10, 0, 5, 0));
- appInfoLabel = new JLabel(
- getTranslationValue(currentLanguageCode, "app_info", "鏅鸿兘鍓茶崏绯荤粺 漏 2023")
- );
- appInfoLabel.setFont(new Font("PingFang SC", Font.PLAIN, 10));
- appInfoLabel.setForeground(new Color(150, 150, 150));
- appInfoPanel.add(appInfoLabel);
+ private JPanel createBottomPanel() {
+ JPanel bottomPanel = new JPanel();
+ bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.Y_AXIS));
+ bottomPanel.setBackground(Color.WHITE);
- return appInfoPanel;
+ // 娉ㄥ唽閾炬帴锛堟斁鍒伴〉闈㈡渶涓嬫柟锛�
+ JPanel signupPanel = new JPanel();
+ signupPanel.setBackground(Color.WHITE);
+ noAccountLabel = new JLabel("杩樻病鏈夎处鎴凤紵 ");
+ noAccountLabel.setFont(new Font("PingFang SC", Font.PLAIN, 12));
+ noAccountLabel.setForeground(new Color(120, 120, 120));
+ signupLink = new JLabel("绔嬪嵆娉ㄥ唽");
+ signupLink.setFont(new Font("PingFang SC", Font.BOLD, 12));
+ signupLink.setForeground(THEME_COLOR);
+ signupLink.setCursor(new Cursor(Cursor.HAND_CURSOR));
+ signupPanel.add(noAccountLabel);
+ signupPanel.add(signupLink);
+ signupPanel.setBorder(BorderFactory.createEmptyBorder(10, 0, 5, 0));
+
+ // 娉ㄥ唽閾炬帴鏀惧湪鏈�搴曢儴
+ bottomPanel.add(signupPanel);
+
+ return bottomPanel;
}
private void setupEventHandlers() {
@@ -356,9 +304,6 @@
openRegistrationWindow();
}
});
-
- // 娉ㄥ唽鎸夐挳鐐瑰嚮浜嬩欢 - 鎵撳紑娉ㄥ唽绐楀彛
- registerButton.addActionListener(e -> openRegistrationWindow());
}
private void updateLanguage(String language) {
@@ -375,10 +320,6 @@
loginButton.setText(getTranslationValue(langCode, "login_button", loginButton.getText()));
noAccountLabel.setText(getTranslationValue(langCode, "no_account", noAccountLabel.getText()));
signupLink.setText(getTranslationValue(langCode, "sign_up", signupLink.getText()));
- appInfoLabel.setText(getTranslationValue(langCode, "app_info", appInfoLabel.getText()));
-
- // 鏇存柊娉ㄥ唽鎸夐挳鏂囨湰
- registerButton.setText(getTranslationValue(langCode, "register_button", registerButton.getText()));
// 鏇存柊绐楀彛鏍囬
setTitle(getTranslationValue(langCode, "window_title", getTitle()));
@@ -607,8 +548,6 @@
}
public static void launchMainApp() {
- System.out.println("鍑嗗鎵撳紑涓诲簲鐢ㄧ▼搴�...");
-
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
@@ -624,14 +563,11 @@
mainFrame.setResizable(true);
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible(true);
-
- System.out.println("涓诲簲鐢ㄧ▼搴忓凡鍚姩");
// 鍚姩鍚庤繛鎺QTT
new Thread(new Runnable() {
@Override
public void run() {
- System.out.println("姝e湪杩炴帴MQTT鏈嶅姟鍣�...");
Client.lianjiemqqt();
}
}).start();
@@ -677,11 +613,7 @@
Device.initializeActiveDevice(setsys.getMowerId());
UDPServer.startAsync();//鍚姩鏁版嵁鎺ユ敹绾跨▼
-
- // 鏄剧ず鍒濆鏁版嵁
- System.out.println("鍒濆鐢ㄦ埛鍚�: " + UserChuShiHua.getProperty("userName"));
- System.out.println("鍒濆瀵嗙爜: " + UserChuShiHua.getProperty("password"));
-
+
// 鍚姩鐧诲綍鐣岄潰锛堣嚜鍔ㄧ櫥褰曢�昏緫鍦� loadUserPreferences 涓鐞嗭級
EventQueue.invokeLater(() -> {
try {
--
Gitblit v1.10.0