From 7d1cd35a80d845d9da731a299b751518038abcb9 Mon Sep 17 00:00:00 2001 From: pus7f45rn <2668148347@qq.com> Date: Sun, 12 Oct 2025 17:55:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20'src/view/ChagePasswordVie?= =?UTF-8?q?w.java'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/ChagePasswordView.java | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/view/ChagePasswordView.java diff --git a/src/view/ChagePasswordView.java b/src/view/ChagePasswordView.java new file mode 100644 index 0000000..50cf96b --- /dev/null +++ b/src/view/ChagePasswordView.java @@ -0,0 +1,50 @@ +package view; + +import javax.swing.*; +import java.awt.*; + +public class ChangePasswordView extends JDialog { + private final JPasswordField oldPasswordField = new JPasswordField(20); + private final JPasswordField newPasswordField = new JPasswordField(20); + private final JPasswordField confirmPasswordField = new JPasswordField(20); + private final JButton confirmButton = new JButton("确认修改"); + private final JButton cancelButton = new JButton("取消"); + + public ChangePasswordView(Frame owner) { + super(owner, "修改密码", true); + setSize(450, 300); + setLocationRelativeTo(owner); + setLayout(new BorderLayout(10, 10)); + + JPanel fieldsPanel = new JPanel(new GridBagLayout()); + fieldsPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.insets = new Insets(5, 5, 5, 5); + gbc.fill = GridBagConstraints.HORIZONTAL; + + JLabel hintLabel = new JLabel("新密码要求: 6-10位,且必须包含大小写字母和数字。"); + hintLabel.setForeground(Color.GRAY); + gbc.gridx = 0; gbc.gridy = 0; gbc.gridwidth = 2; fieldsPanel.add(hintLabel, gbc); + + gbc.gridwidth = 1; + gbc.gridx = 0; gbc.gridy = 1; fieldsPanel.add(new JLabel("原密码:"), gbc); + gbc.gridx = 1; gbc.gridy = 1; fieldsPanel.add(oldPasswordField, gbc); + gbc.gridx = 0; gbc.gridy = 2; fieldsPanel.add(new JLabel("新密码:"), gbc); + gbc.gridx = 1; gbc.gridy = 2; fieldsPanel.add(newPasswordField, gbc); + gbc.gridx = 0; gbc.gridy = 3; fieldsPanel.add(new JLabel("确认新密码:"), gbc); + gbc.gridx = 1; gbc.gridy = 3; fieldsPanel.add(confirmPasswordField, gbc); + + JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 0)); + buttonPanel.add(confirmButton); + buttonPanel.add(cancelButton); + + add(fieldsPanel, BorderLayout.CENTER); + add(buttonPanel, BorderLayout.SOUTH); + } + + public String getOldPassword() { return new String(oldPasswordField.getPassword()); } + public String getNewPassword() { return new String(newPasswordField.getPassword()); } + public String getConfirmPassword() { return new String(confirmPasswordField.getPassword()); } + public JButton getConfirmButton() { return confirmButton; } + public JButton getCancelButton() { return cancelButton; } +} \ No newline at end of file