diff --git a/src/view/PasswordSetView.java/PasswordSetView.java b/src/view/PasswordSetView.java/PasswordSetView.java new file mode 100644 index 0000000..3b5347b --- /dev/null +++ b/src/view/PasswordSetView.java/PasswordSetView.java @@ -0,0 +1,54 @@ +package view; + +import javax.swing.*; +import java.awt.*; + +public class PasswordSetView extends JPanel { + private final JPasswordField passwordField = new JPasswordField(20); + private final JPasswordField confirmPasswordField = new JPasswordField(20); + private final JButton submitButton = new JButton("完成注册"); + + public PasswordSetView() { + setLayout(new GridBagLayout()); + JPanel formPanel = new JPanel(new GridBagLayout()); + formPanel.setBorder(BorderFactory.createEmptyBorder(30, 40, 30, 40)); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.insets = new Insets(10, 10, 10, 10); + gbc.fill = GridBagConstraints.HORIZONTAL; + + JLabel titleLabel = new JLabel("设置您的密码", SwingConstants.CENTER); + titleLabel.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 28)); + gbc.gridx = 0; gbc.gridy = 0; gbc.gridwidth = 2; formPanel.add(titleLabel, gbc); + + JLabel hintLabel = new JLabel("密码要求: 6-10位,且必须包含大小写字母和数字。", SwingConstants.CENTER); + hintLabel.setForeground(Color.GRAY); + gbc.gridy = 1; formPanel.add(hintLabel, gbc); + + gbc.gridwidth = 1; + gbc.gridx = 0; gbc.gridy = 2; addLabel(formPanel, "输入密码:", gbc); + gbc.gridx = 1; gbc.gridy = 2; addComponent(formPanel, passwordField, gbc); + + gbc.gridx = 0; gbc.gridy = 3; addLabel(formPanel, "确认密码:", gbc); + gbc.gridx = 1; gbc.gridy = 3; addComponent(formPanel, confirmPasswordField, gbc); + + gbc.gridx = 0; gbc.gridy = 4; gbc.gridwidth = 2; gbc.insets = new Insets(20, 10, 10, 10); + submitButton.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 16)); + addComponent(formPanel, submitButton, gbc); + + add(formPanel); + } + + private void addLabel(JPanel panel, String text, GridBagConstraints gbc) { + JLabel label = new JLabel(text); + label.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 16)); + panel.add(label, gbc); + } + private void addComponent(JPanel panel, JComponent comp, GridBagConstraints gbc) { + comp.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 16)); + panel.add(comp, gbc); + } + + public String getPassword() { return new String(passwordField.getPassword()); } + public String getConfirmPassword() { return new String(confirmPasswordField.getPassword()); } + public JButton getSubmitButton() { return submitButton; } +} \ No newline at end of file