package com.mr.email;

import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

/**
 * “用户切换”对话框
 */
class LoginJDialog extends JDialog {
	public LoginJDialog(EmailFrame email) { // “登录”类的构造方法
		super(email, true); // 指定对话框的父窗体并禁止用户向其他顶层窗口输入文本信息
		setTitle("切换用户（正确账号/密码：mr/mrsoft）"); // 设置对话框的标题
		setResizable(false); // 不可改变对话框的大小
		setBounds(391, 272, 368, 270); // 设置对话框的横坐标、纵坐标、宽高

		Container contentPane = getContentPane();// 获取窗体容器
		contentPane.setBackground(SystemColor.inactiveCaptionBorder);
		setContentPane(contentPane);
		contentPane.setLayout(null);
		/*
		 * “登录邮箱”标签
		 */
		JLabel loginEmaiLabel = new JLabel("账	号：");
		loginEmaiLabel.setHorizontalAlignment(SwingConstants.CENTER);// 文本居中
		loginEmaiLabel.setFont(new Font("幼圆", Font.PLAIN, 16));// 设置字体
		loginEmaiLabel.setBounds(20, 50, 70, 30);
		contentPane.add(loginEmaiLabel);
		/*
		 * “登录邮箱”文本框
		 */
		JTextField loginEmailText = new JTextField();
		loginEmailText.setBounds(90, 50, 240, 30);
		loginEmailText.setColumns(10);// 文本框长度为10个字符
		contentPane.add(loginEmailText);
		/*
		 * “登录密码”标签
		 */
		JLabel pwdLabel = new JLabel("密　码：");
		pwdLabel.setHorizontalAlignment(SwingConstants.CENTER);
		pwdLabel.setFont(new Font("幼圆", Font.PLAIN, 16));
		pwdLabel.setBounds(20, 100, 70, 30);
		contentPane.add(pwdLabel);
		/*
		 * 登录密码框
		 */
		JPasswordField pwdText = new JPasswordField();
		pwdText.setBounds(90, 100, 240, 30);
		pwdText.setColumns(10);// 密码框长度为10个字符
		contentPane.add(pwdText);
		/*
		 * 登录按钮
		 */
		JButton loginBtn = new JButton("登　录");
		loginBtn.setForeground(Color.WHITE);
		loginBtn.setFont(new Font("黑体", Font.BOLD, 15));
		loginBtn.setBackground(Color.RED);
		loginBtn.setBounds(90, 154, 240, 30);
		loginBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String login = loginEmailText.getText().trim();// 获取用户输入的账号，去掉收尾空白内容
				String pwd = new String(pwdText.getPassword()).trim();// 获取用户输入的密码，去掉收尾空白内容
				if (login.length() == 0 || pwd.length() == 0) {// 判断用户输入的内容是否为空
					// 弹出小对话框，位置：LoginJDialog窗口中间，内容："账号或密码不能为空！"，标题："友情提示"，消息类型：警告
					JOptionPane.showMessageDialog(LoginJDialog.this, "账号或密码不能为空！", "友情提示", JOptionPane.WARNING_MESSAGE);
				} else if (login.equalsIgnoreCase("mr") && pwd.equals("mrsoft")) {
					email.setSenderEmail(loginEmailText.getText());// 调用EmailFrame提供的方法，替换“发件人”初始邮箱
					dispose(); // 销毁当前窗体
				} else {
					JOptionPane.showMessageDialog(LoginJDialog.this, "账号与密码不匹配！", "信息错误", JOptionPane.ERROR_MESSAGE); // 弹出框之““密码”错误！”
				}
			}
		});
		contentPane.add(loginBtn);
	}
}