📄 register.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Register extends JFrame implements ActionListener
{
FileNameExtensionFilter filter;
RandomAccessFile ras1,ras2;
JPanel pnlRegister;
JLabel lblUserName,lblPassword,lblConfirmPwd,lblSex,lblAge,lblEmail;
JLabel lblLogo,lblSelect;
JButton btnOk,btnReturn,btnClear;
JTextField txtUserName,txtEmail;
JPasswordField pwdPassword,pwdConfirmPassword;
JRadioButton rbtnMale,rbtnFemale;
ButtonGroup grpSex;
JComboBox cmbAge;
Dimension scrnSize;
Toolkit tk=Toolkit.getDefaultToolkit();
JOptionPane op1;
Connection con;
Conn c=new Conn();
//构造方法
public Register()
{
//组件初始化
pnlRegister=new JPanel(null);
setContentPane(pnlRegister);
lblUserName=new JLabel("用 户 名:");
lblPassword=new JLabel("密 码:");
lblConfirmPwd=new JLabel("确认密码:");
lblSex=new JLabel("性 别:");
lblAge=new JLabel("年 龄:");
lblEmail=new JLabel("电子邮件:");
lblSelect=new JLabel("Male");
txtUserName=new JTextField();
pwdPassword=new JPasswordField();
pwdConfirmPassword=new JPasswordField();
grpSex=new ButtonGroup();
Icon logoMale=new ImageIcon("e:/java/images/male.jpg");
Icon logoFemale=new ImageIcon("e:/java/images/female.jpg");
rbtnMale=new JRadioButton("男",logoMale);
rbtnMale.setSelected(true);
rbtnMale.addActionListener(this);
grpSex.add(rbtnMale);
rbtnFemale=new JRadioButton("女",logoFemale);
rbtnFemale.addActionListener(this);
grpSex.add(rbtnFemale);
cmbAge=new JComboBox();
for(int i=12;i<=80;i++)
cmbAge.addItem(String.valueOf(i));
txtEmail=new JTextField(20);
btnOk=new JButton("确定(O)");
btnOk.setMnemonic('O');
btnOk.setToolTipText("保存注册信息");
btnOk.addActionListener(this);
btnReturn=new JButton("返回(R)");
btnReturn.setMnemonic('R');
btnReturn.setToolTipText("返回登录窗口");
btnReturn.addActionListener(this);
btnClear=new JButton("清空(C)");
btnClear.setMnemonic('C');
btnClear.setToolTipText("清空所有信息");
btnClear.addActionListener(this);
//设置组件位置
lblUserName.setBounds(30,90,100,30);
txtUserName.setBounds(110,90,120,25);
lblPassword.setBounds(30,120,100,30);
pwdPassword.setBounds(110,120,120,25);
lblConfirmPwd.setBounds(30,150,100,30);
pwdConfirmPassword.setBounds(110,150,120,25);
lblSex.setBounds(30,180,100,30);
rbtnMale.setBounds(110,180,60,25);
rbtnFemale.setBounds(170,180,60,25);
lblAge.setBounds(30,210,100,25);
cmbAge.setBounds(110,210,80,20);
lblEmail.setBounds(30,240,100,30);
txtEmail.setBounds(110,240,120,25);
btnOk.setBounds(250,130,80,35);
btnReturn.setBounds(250,180,80,35);
btnClear.setBounds(250,230,80,35);
//设置组件颜色
pnlRegister.setBackground(Color.green);
btnOk.setBackground(Color.orange);
btnReturn.setBackground(Color.orange);
btnClear.setBackground(Color.orange);
rbtnMale.setOpaque(false);
rbtnFemale.setOpaque(false);
rbtnMale.setForeground(Color.BLACK);
rbtnFemale.setForeground(Color.BLACK);
rbtnMale.setBackground(Color.white);
rbtnFemale.setBackground(Color.white);
//设置背景图片
Icon backLogo=new ImageIcon("e:/java/images/registerlogo.jpg");
lblLogo=new JLabel(backLogo);
lblLogo.setBounds(0,0,360,78);
pnlRegister.add(lblLogo);
//添加组件
pnlRegister.add(lblUserName);
pnlRegister.add(txtUserName);
pnlRegister.add(lblPassword);
pnlRegister.add(pwdPassword);
pnlRegister.add(lblConfirmPwd);
pnlRegister.add(pwdConfirmPassword);
pnlRegister.add(lblSex);
pnlRegister.add(rbtnMale);
pnlRegister.add(rbtnFemale);
pnlRegister.add(lblAge);
pnlRegister.add(cmbAge);
pnlRegister.add(lblEmail);
pnlRegister.add(txtEmail);
pnlRegister.add(btnOk);
pnlRegister.add(btnReturn);
pnlRegister.add(btnClear);
//设置登录窗口
scrnSize=tk.getScreenSize();
setLocation(scrnSize.width/2-this.getWidth()/2,scrnSize.height/2-this.getWidth()/2);
setSize(360,300);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Image logo=tk.getImage("e:/java/images/appico.jpg");
setIconImage(logo);
}
//按钮监听响应
public void actionPerformed(ActionEvent ae)
{
Object source=ae.getSource();
//检查用户信息
if(source==btnOk)
{
op1=new JOptionPane();
if(txtUserName.getText().length()==0)
{
op1.showMessageDialog(null,"用户名不能为空!","提示信息",JOptionPane.INFORMATION_MESSAGE);
txtUserName.requestFocus();
return;
}
if(txtUserName.getText().length()<4)
{
op1.showMessageDialog(null,"用户名长度不能小于4位宽度!","提示信息",JOptionPane.INFORMATION_MESSAGE);
txtUserName.requestFocus();
return;
}
char b[]={'0','1','2','3','4','5','6','7','8','9'};
for(int i=0;i<10;i++)
if(txtUserName.getText().charAt(0)==b[i])
{
op1.showMessageDialog(null,"用户名格式不正确,请重新输入!","提示信息",JOptionPane.INFORMATION_MESSAGE);
txtUserName.requestFocus();
return;
}
if(pwdPassword.getPassword().length==0)
{
op1.showMessageDialog(null,"密码不能为空!","提示信息",JOptionPane.INFORMATION_MESSAGE);
pwdPassword.requestFocus();
return;
}
if(pwdPassword.getPassword().length<6)
{
op1.showMessageDialog(null,"密码长度不能小于6位!","提示信息",JOptionPane.INFORMATION_MESSAGE);
pwdPassword.requestFocus();
return;
}
String p=new String(pwdPassword.getPassword());
String cp=new String(pwdConfirmPassword.getPassword());
if(!p.equals(cp))
{
op1.showMessageDialog(null,"密码与确认密码不一样!","提示信息",JOptionPane.INFORMATION_MESSAGE);
pwdConfirmPassword.requestFocus();
return;
}
if(source.equals(rbtnMale))
lblSelect.setText("男");
if(source.equals(rbtnFemale));
lblSelect.setText("女");
if(txtEmail.getText().length()==0)
{
op1.showMessageDialog(null,"邮件地址不能为空!","提示信息",JOptionPane.INFORMATION_MESSAGE);
txtEmail.requestFocus();
return;
}
int flag=0;
for(int i=0;i<txtEmail.getText().length();i++)
if(txtEmail.getText().charAt(i)=='@')
flag=1;
if(flag!=1)
{
op1.showMessageDialog(null,"邮件格式不正确!","提示信息",JOptionPane.INFORMATION_MESSAGE);
txtEmail.requestFocus();
return;
}
userRegister();
}
//监听返回按钮
if(source==btnReturn)
{
new Login();
this.dispose();
}
//监听清空按钮
if(source==btnClear)
{
txtUserName.setText("");
pwdPassword.setText("");
pwdConfirmPassword.setText("");
rbtnMale.setSelected(true);
txtEmail.setText("");
}
}
//使用数据库进行校验
public boolean userRegister()
{
try
{
con=c.openDatabase();
String strAge=String.valueOf(cmbAge.getSelectedItem());
String strSql=txtUserName.getText()+"','"+pwdPassword.getText()+"','"+lblSelect.getText()+"','"+strAge+"','"+txtEmail.getText();
String sql="insert into users values('"+strSql+"')";
Statement stmt=con.createStatement();
stmt.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"注册成功!");
return true;
}catch(Exception e)
{
System.out.println(e.toString());
JOptionPane.showMessageDialog(null,"注册失败!");
return false;
}
}
//使用user.txt文件进行校验
/*
public boolean userRegister()
{
String strUser=txtUserName.getText();
boolean t=true;
try{
ras1=new RandomAccessFile("user.txt","r");
long l=ras1.length();
String strUserName;
while((strUserName=ras1.readLine())!=null)
{
if(strUser.equals(strUserName))
{
JOptionPane.showMessageDialog(null,"用户名已经存在");
t=false;
break;
}
}
ras1.close();
if(t)
{
ras2=new RandomAccessFile("user.txt","rw");
ras2.seek(l);
ras2.writeBytes(txtUserName.getText()+"\r\n");
ras2.writeBytes(pwdPassword.getText()+"\r\n");
ras2.writeBytes(String.valueOf(cmbAge.getSelectedItem()+"\r\n"));
ras2.writeBytes(lblSelect.getText()+"\r\n");
ras2.writeBytes(txtEmail.getText()+"\r\n");
ras2.close();
JOptionPane.showMessageDialog(null,"注册成功!");
new Login();
this.dispose();
}
}
catch(Exception e){JOptionPane.showMessageDialog(null,"注册失败!");}
return t;
}*/
public static void main(String args[])
{
new Register();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -