⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validateframe.java

📁 本java源程序包括了大量的学习程序(共27章)方便大家学习
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ValidateFrame extends JFrame implements ActionListener
{
	private JTextField nameTextField;
    private JPasswordField passwordTextField;
    private JPasswordField confirmPswTextField;
    JButton okButton;
    JButton exitButton;
	public ValidateFrame()      //构造方法
	{
		super("Validate");
		//声明JLabel标签对象
		JLabel name = new JLabel("Name");
		JLabel password1 = new JLabel("Password");
		JLabel password2 = new JLabel("Comfirm Password");	
		//创建JButton对象okButton,并指定按钮上字符为"OK"
		okButton = new JButton("OK");
		exitButton = new JButton("EXIT");
        //创建JButton对象exitButton,并指定按钮上字符为"OK"
		okButton.addActionListener(this);  
		//添加okButton事件监听器
		exitButton.addActionListener(this);
        //添加exitButton事件监听器
		//以下用来创建窗口中字符串及密码输入栏
		nameTextField = new JTextField(15);
		passwordTextField = new JPasswordField(10);
		confirmPswTextField = new JPasswordField(10);
		//创建JPanel对象NamePanel面板,并在其中加入name标签及用户名输入栏
		JPanel NamePanel = new JPanel();
		NamePanel.add(name);
		NamePanel.add(nameTextField);		
		//创建JPanel对象passwordPanel1面板,并在其中加入password1标签及密码输入栏
		JPanel passwordPanel1 = new JPanel();
		passwordPanel1.add(password1);
		passwordPanel1.add(passwordTextField);
        //创建JPanel对象passwordPanel1面板,并在其中加入password2标签及密码确认输入栏
		JPanel passwordPanel2 = new JPanel();
		passwordPanel2.add(password2);
		passwordPanel2.add(confirmPswTextField);
		//创建JPanel对象buttonPanel面板,并在该面板中加入2个按钮
		JPanel buttonPanel = new JPanel();
		buttonPanel.add(okButton);
		buttonPanel.add(exitButton);
		//创建并设置窗口布局方式为GridLayout
		Container container = this.getContentPane();
		container.setLayout(new GridLayout(4,1));
		//以下四句将组件添加至窗口中
		container.add(NamePanel);
		container.add(passwordPanel1);
		container.add(passwordPanel2);
		container.add(buttonPanel);
		setSize(325,225);    //设置窗口大小
		setVisible(true);    //设置窗口为可见
	}  	
	public void actionPerformed(ActionEvent e)    //按钮事件处理方法
	{   //处理按键的事件
		if(e.getSource() == okButton)    //单击okButton时,程序所作的处理
		{
			validateDate();              //调用validateDate()方法
		}
		if(e.getSource() == exitButton)  //单击exitButton时,程序所作的处理
		{
			this.setVisible(false);      //设置窗口为不可见
			System.exit(0);              //退出程序
		}
	}
	private void validateDate()
	{   //检验窗口输入栏中,用户输入的数据是否符合要求
		if(nameTextField.getText().equals("")||
		   passwordTextField.getPassword().equals("")||
		   confirmPswTextField.getPassword().equals("")) // end of condition
		   JOptionPane.showMessageDialog(this,"Please fill all fields");
		//以上用来判断是否有输入栏为空
		else if(!nameTextField.getText().matches("[a-zA-Z][a-zA-Z0-9]*"))
			   JOptionPane.showMessageDialog(this,"Invalid name,the name must begin with letter");
		//以上用来判断,用户所输入的用户名是否以字母开头,是否由字母及数字组成
		else if(nameTextField.getText().length()>15)
		   JOptionPane.showMessageDialog(this,"The name's length limit 15 letters");
		//以上用来判断,用户输入的用户名,是否超过限定长度的15个字符
		else if(passwordTextField.getPassword().length<4)
			JOptionPane.showMessageDialog(this,"The password's length is too short");
		//以上用来判断,用户输入的密码长度是否少于4个字符
		else if(!validatePassword())
			JOptionPane.showMessageDialog(this,"The password must contain letters and numbers");
		//调用validatePassword()方法,用来判断用户输入的密码的格式是否符合要求,必须同时包含字母和数字
		else if(!compareTwoPassword())
			JOptionPane.showMessageDialog(this,"The password input are not same");		
		//调用compareTwoPassword()方法,用来判断用户两次输入的密码是否一致
		else
		   JOptionPane.showMessageDialog(this,"All Data is OK!");
	}	
	private boolean validatePassword()   //密码输入校验方法
	{
		boolean b = false;
		String password = new String(passwordTextField.getPassword());
		//将字符数组passwordTextField.getPassword()的内容,创建为字符串password
		b = password.matches("[a-zA-Z]+[0-9]+");
		//使用正则表达式"[a-zA-Z]+[0-9]+"来判断密码password必须同时包含字母和数字
		return b;
	}
	private boolean compareTwoPassword()  //两次输入密码核对方法
	{
		boolean b = false;
		String password1 = new String(passwordTextField.getPassword());
        //将字符数组passwordTextField.getPassword()的内容,创建为字符串password1
		String password2 = new String(confirmPswTextField.getPassword());
		//将字符数组confirmPswTextField.getPassword()的内容,创建为字符串password2
		if(password1.equals(password2)) b=true; //比较字符串
		return b;    //返回布尔型变量的值
	}
	public static void main(String[] args) 
	{
		ValidateFrame validateFrame = new ValidateFrame();
		validateFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -