?? register.java
字號(hào):
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();
//構(gòu)造方法
public Register()
{
//組件初始化
pnlRegister=new JPanel(null);
setContentPane(pnlRegister);
lblUserName=new JLabel("用 戶 名:");
lblPassword=new JLabel("密 碼:");
lblConfirmPwd=new JLabel("確認(rèn)密碼:");
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("保存注冊(cè)信息");
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);
//設(shè)置組件位置
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);
//設(shè)置組件顏色
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);
//設(shè)置背景圖片
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);
//設(shè)置登錄窗口
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);
}
//按鈕監(jiān)聽響應(yīng)
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,"用戶名長(zhǎng)度不能小于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,"用戶名格式不正確,請(qǐng)重新輸入!","提示信息",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,"密碼長(zhǎng)度不能小于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,"密碼與確認(rèn)密碼不一樣!","提示信息",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();
}
//監(jiān)聽返回按鈕
if(source==btnReturn)
{
new Login();
this.dispose();
}
//監(jiān)聽清空按鈕
if(source==btnClear)
{
txtUserName.setText("");
pwdPassword.setText("");
pwdConfirmPassword.setText("");
rbtnMale.setSelected(true);
txtEmail.setText("");
}
}
//使用數(shù)據(jù)庫(kù)進(jìn)行校驗(yàn)
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,"注冊(cè)成功!");
return true;
}catch(Exception e)
{
System.out.println(e.toString());
JOptionPane.showMessageDialog(null,"注冊(cè)失敗!");
return false;
}
}
//使用user.txt文件進(jìn)行校驗(yàn)
/*
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,"用戶名已經(jīng)存在");
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,"注冊(cè)成功!");
new Login();
this.dispose();
}
}
catch(Exception e){JOptionPane.showMessageDialog(null,"注冊(cè)失敗!");}
return t;
}*/
public static void main(String args[])
{
new Register();
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -