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

📄 register.java

📁 里面所含源码是本人平时做程序的一些实例
💻 JAVA
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Register extends JFrame  implements ActionListener
{
	JPanel  pnlRegister;
	JLabel  lblUserName,lblGender,lblAge;
	JLabel  lblPassword,lblConfirmPass,lblEmail,logoPosition;
	JTextField  txtUserName,txtEmail,lblSelect;
	JPasswordField  pwdUserPassword,pwdConfirmPass;
	JRadioButton  rbtnMale,rbtnFemale;
	JComboBox cmbAge;
	ButtonGroup  btngGender;
    JButton  btnOk,btnCancel,btnClear;
    RandomAccessFile rafUser;
    static String  strAge[]=new String[101];	
    //用于将窗口用于定位
	Dimension scrnsize;
    Toolkit toolkit=Toolkit.getDefaultToolkit();
    //构造方法
	public Register()
	{
		super("[HappyChat]聊天室注册窗口");
		for(int n=0;n<strAge.length;n++)
		{
			strAge[n]=String.valueOf(n);
		}	
		pnlRegister=new JPanel(null);
		this.getContentPane().add(pnlRegister);
		lblUserName=new JLabel("用 户 名:");
		lblGender=new JLabel("性    别:");
		lblAge=new JLabel("年    龄:");
		lblPassword=new JLabel("口    令:");
		lblConfirmPass=new JLabel("确认口令:");
		lblEmail=new JLabel("电子邮件:");
		txtUserName=new JTextField(30);
		txtEmail=new JTextField(20);
		cmbAge=new JComboBox(strAge);
		lblSelect=new JTextField(30);
		pwdUserPassword=new JPasswordField(30);
		pwdConfirmPass=new JPasswordField(30);
		rbtnMale=new JRadioButton("男");		
		rbtnFemale=new JRadioButton("女");	
	    btngGender=new ButtonGroup();
	    btnOk=new JButton("确定(O)");
	    btnOk.setMnemonic('O');
	    btnOk.setToolTipText("保存注册信息");
		btnCancel=new JButton("返回(B)");
		btnCancel.setMnemonic('B');
		btnCancel.setToolTipText("返回登录窗口");
		btnClear=new JButton("清空(L)");
		btnClear.setMnemonic('L');
		btnClear.setToolTipText("清空注册信息");
		//设置组件位置
		lblUserName.setBounds(30,80,100,30);
		txtUserName.setBounds(110,85,120,20);
		lblPassword.setBounds(30,105,100,30);
		pwdUserPassword.setBounds(110,110,120,20);
		lblConfirmPass.setBounds(30,130,100,30);
		pwdConfirmPass.setBounds(110,135,120,20);
		lblGender.setBounds(30,155,100,30);
		rbtnMale.setBounds(110,160,60,20);
		rbtnFemale.setBounds(190,160,60,20);
		lblAge.setBounds(30,180,100,30);
		cmbAge.setBounds(110,185,120,20);
		lblEmail.setBounds(30,205,100,30);
		txtEmail.setBounds(110,210,120,20);
	    btnOk.setBounds(250,135,80,25);	
	    btnCancel.setBounds(250,170,80,25);
	    btnClear.setBounds(250,210,80,25);
	    //设置组件字体
		Font fontstr=new Font("宋体",Font.PLAIN,12);	
		lblUserName.setFont(fontstr);
	    lblGender.setFont(fontstr);
		lblPassword.setFont(fontstr);
		lblConfirmPass.setFont(fontstr);
		lblAge.setFont(fontstr);
		lblEmail.setFont(fontstr);
        rbtnMale.setFont(fontstr);
		rbtnFemale.setFont(fontstr);
		txtUserName.setFont(fontstr);
		txtEmail.setFont(fontstr);	
		btnOk.setFont(fontstr);
		btnCancel.setFont(fontstr);
		btnClear.setFont(fontstr);
		//设置组件颜色	
		lblUserName.setForeground(Color.BLACK);
		lblGender.setForeground(Color.BLACK);
		lblPassword.setForeground(Color.BLACK);
		lblAge.setForeground(Color.BLACK);
		lblConfirmPass .setForeground(Color.BLACK);
		lblEmail.setForeground(Color.BLACK);
		rbtnMale.setForeground(Color.BLACK);
		rbtnFemale.setForeground(Color.BLACK);
		rbtnMale.setBackground(Color.white);
		rbtnFemale.setBackground(Color.white);
		btnOk.setBackground(Color.ORANGE);	
	    btnCancel.setBackground(Color.ORANGE);
	    btnClear.setBackground(Color.ORANGE);
		rbtnMale.setOpaque(false);   
		rbtnFemale.setOpaque(false);
		//添加组件
		pnlRegister.add(lblUserName);
		pnlRegister.add(lblGender);
		pnlRegister.add(lblPassword);
		pnlRegister.add(lblConfirmPass);
		pnlRegister.add(lblEmail);
		pnlRegister.add(lblAge);
		pnlRegister.add(cmbAge);
		pnlRegister.add(txtUserName);
		pnlRegister.add(txtEmail);
		pnlRegister.add(pwdUserPassword);
		pnlRegister.add(pwdConfirmPass);
		pnlRegister.add(btnOk);
		pnlRegister.add(btnCancel);
		pnlRegister.add(btnClear);
		pnlRegister.add(rbtnMale);
		pnlRegister.add(rbtnFemale);
		btngGender.add(rbtnMale);
	    btngGender.add(rbtnFemale);
	    
	    //设置背景图片
	    Icon logo = new ImageIcon("images\\registerlogo.jpg");
	 	logoPosition = new JLabel(logo);
		logoPosition.setBounds(0, 0, 360,78);
		pnlRegister.add(logoPosition);
	    
	    this.setSize(360,270);
		this.setVisible(true);
		this.setResizable(false);
		//将窗口定位在屏幕中央
    	scrnsize=toolkit.getScreenSize();
    	this.setLocation(scrnsize.width/2-this.getWidth()/2,
    	                 scrnsize.height/2-this.getHeight()/2);
		Image img=toolkit.getImage("images\\appico.jpg");
        this.setIconImage(img);
		
		btnOk.addActionListener(this);
		btnCancel.addActionListener(this);
		btnClear.addActionListener(this);
		cmbAge.addActionListener(this);
		rbtnMale.addActionListener(this);
	    rbtnFemale.addActionListener(this);
	}  
  public boolean saveToFile()
	{
		try
		{
			//构造可读写RandomAccessFile对象
			rafUser=new RandomAccessFile("user.txt","rw");
			//文件指针定位到文件开始处
			rafUser.seek(0);
			//将组件中相应内容写入到文件			
			rafUser.writeBytes(txtUserName.getText()+"\r\n");
			rafUser.writeBytes(pwdUserPassword.getText()+"\r\n");
			rafUser.writeBytes("Sex:"+lblSelect.getText()+"\r\n");
			rafUser.writeBytes("Age:"+(String)cmbAge.getSelectedItem()+"\r\n");
			rafUser.writeBytes("Email:"+txtEmail.getText());
			rafUser.close();
			return true;
		}
		catch(Exception e)
		{
			JOptionPane.showMessageDialog(null,"文件保存失败!");
			return false;
		}
	}	

	public void actionPerformed(ActionEvent ae)
	{
		Object source=new Object();
	    source=ae.getSource();
	    if (ae.getSource()==rbtnFemale)	
				lblSelect.setText("female");
		if (ae.getSource()==rbtnMale)
				lblSelect.setText("male");
	    if (source.equals(btnOk))     
	    {
	      if(txtUserName.getText().length()==0)
		{
		    JOptionPane.showMessageDialog(null,"用户名不能为空");	
            return;	
		}
		int Name_flag=0; 
		char b[]={'0','1','2','3','4','5','6','7','8','9'};  
		for (int i=0;i<b.length;i++)
		{
		    if(txtUserName.getText().charAt(0)==b[i])
		    {
		        Name_flag++;	
		    }
		    	
		}
		if(Name_flag==1)
		{
		    JOptionPane.showMessageDialog(null,"用户名格式不正确,请重新输入");	
            return;	
		}
	
		if(pwdUserPassword.getText().length()==0)
		{
		    JOptionPane.showMessageDialog(null,"密码不能为空");	
            return;	
		}
		if(pwdUserPassword.getText().length()<8)
		{JOptionPane.showMessageDialog(null,"密码长度不够");
            return ;
		}		
		if(!pwdUserPassword.getText().equals(pwdConfirmPass.getText()))
		{
		    JOptionPane.showMessageDialog(null,"密码两次输入不一致,请重新输入");	
            return;
		}	
		
		int Found_flag=0;   
		for (int i=0;i<txtEmail.getText().length();i++)
		{
		    if(txtEmail.getText().charAt(i)=='@')
		    {
		        Found_flag++;	
		    }
		    	
		}
		if(Found_flag!=1)
		  {
		    JOptionPane.showMessageDialog(null,"电子邮箱格式不正确,请重新输入");	
            return;	
		  }
		 if (saveToFile())
		     JOptionPane.showMessageDialog(null,"注册成功!");
	    }
	       
	    if (source.equals(btnCancel))  //"返回"按钮
	    {
	    	new Login();
	    	this.dispose();
	    }
	    if (source.equals(btnClear))     //"清空"按钮
	    {
	        txtUserName.setText("");
	        pwdUserPassword.setText("");
	        pwdConfirmPass.setText("");	       
	        txtEmail.setText("");	
	    }
	} 
	public static void main(String args[])
	{		
		new Register();
	}

}  //class Register 结束

⌨️ 快捷键说明

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