CENTER);
cp.add(JL,"North");
jp2.add(j1);
jp2.add(j2);
cp。
add(jp1,”Center”);
cp.add("South",jp2);
jp1。
setBackground(Color。
lightGray);
Toolkitkit=Toolkit.getDefaultToolkit();
Dimensionscreen=kit.getScreenSize();
intx=screen.width;/*取得显示器窗口的宽度*/
inty=screen。
height;/*取得显示器窗口的高度*/
//setSize(x,y);/*让系统窗口平铺整个显示器窗口*/
f。
setSize(300,300);
intxcenter=(x—300)/2;
intycenter=(y—300)/2;
f.setLocation(xcenter,ycenter);/*显示在窗口中央*/
f.setVisible(true);
//—-—-———-——-—-—-—----——--—-—-—--—------——--—--—-—-—--—
j1.addActionListener(this);//注册事件监听器
j2.addActionListener(this);
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System。
exit(0);
}
}
);
}
publicvoidconfirm()throwsIOException//验证用户和密码是否存在
{
Filefile=newFile(”C:
//Login.txt");
try{
if(!
file。
exists())
file.createNewFile();
}catch(IOExceptione){
e.printStackTrace();
}
BufferedReaderbr=newBufferedReader(newFileReader(file));
Stringtemp=br。
readLine();
Stringline;
while((line=br。
readLine())!
=null){
temp+=”,”+line;
}
if(temp==null){
System。
out。
println();
}else{
String[]str=temp.split(”,”);
name=str[0];
psw=str[1];
if((t1。
getText()。
trim().equals(name))&&(t2。
getText()。
equals(psw))){
newTest();
f.hide();
br.close();
}else{
JOptionPane.showMessageDialog(null,”该用户不存在",”提示?
”,JOptionPane.YES_NO_OPTION);
}
t1。
setText(”");
t2。
setText(”");
}
}
publicvoidactionPerformed(ActionEvente)
{
Stringcmd=e.getActionCommand();
if(cmd.equals(”确定")){
try{
confirm();
}catch(IOExceptione1){
e1。
printStackTrace();
}
}
elseif(cmd。
equals(”取消”)){
f。
dispose();
}
}
publicstaticvoidmain(String[]args){
Logina=newLogin();
}
}
6.2学生信息管理系统源码Student.java
packageaa;
importjava。
awt.*;
importjava.awt。
event。
*;
importjavax。
swing.*;
importjava。
io。
*;
importjava.util.*;
publicclassStudentimplementsjava。
io。
Serializable{
Stringnumber,name,specialty,grade,borth,sex;
publicStudent(){};
publicvoidsetNumber(Stringnumber){this.number=number;}
publicStringgetNumber(){returnnumber;}
publicvoidsetName(Stringname){this。
name=name;}
publicStringgetName(){returnname;}
publicvoidsetSex(Stringsex){this。
sex=sex;}
publicStringgetSex(){returnsex;}
publicvoidsetSpecialty(Stringspecialty){this。
specialty=specialty;}
publicStringgetSpecialty(){returnspecialty;}
publicvoidsetGrade(Stringgrade){this.grade=grade;}
publicStringgetGrade(){returngrade;}
publicvoidsetBorth(Stringborth){this.borth=borth;}
publicStringgetBorth(){returnborth;}
}
classTestextendsJFrame{
JLabellb=newJLabel(”录入请先输入记录、查询、删除请先输入学号?
修改是对查询”+”内容改后的保存?
");
JTextField学号,姓名,专业,年级,出生;
JRadioButton男,女;
ButtonGroupgroup=null;
JButton录入,查询,删除,修改,显示;
JPanelp1,p2,p3,p4,p5,p6,pv,ph;
Student学生=null;
Hashtable学生散列表=null;
Filefile=null;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
publicTest(){
super("学生信息管理系统”);
学号=newJTextField(10);
姓名=newJTextField(10);
专业=newJTextField(10);
年级=newJTextField(10);
出生=newJTextField(10);
group=newButtonGroup();
男=newJRadioButton("男",true);
女=newJRadioButton("女”,false);
group。
add(男);
group.add(女);
录入=newJButton(”录入”);
查询=newJButton("查询”);
删除=newJButton("删除”);
修改=newJButton("修改");
显示=newJButton(”显示”);
录入。
addActionListener(newInputAct());
查询.addActionListener(newInquestAct());
修改。
addActionListener(newModifyAct());
删除.addActionListener(newDeleteAct());
显示.addActionListener(newShowAct());
修改。
setEnabled(false);
p1=newJPanel();
p1.add(newJLabel(”学号:
",JLabel。
CENTER));
p1。
add(学号);
p2=newJPanel();
p2.add(newJLabel(”姓名:
”,JLabel。
CENTER));
p2.add(姓名);
p3=newJPanel();
p3.add(newJLabel(”性别:
",JLabel.CENTER));
p3.add(男);
p3。
add(女);
p4=newJPanel();
p4.add(newJLabel("专业:
",JLabel。
CENTER));
p4.add(专业);
p5=newJPanel();
p5。
add(newJLabel("年级:
”,JLabel.CENTER));
p5。
add(年级);
p6=newJPanel();
p6.add(newJLabel(”出生:
”,JLabel.CENTER));
p6。
add(出生);
pv=newJPanel();
pv。
setLayout(newGridLayout(6,1));
pv.add(p1);
pv.add(p2);
pv.add(p3);
pv.add(p4);
pv。
add(p5);
pv。
add(p6);
ph=newJPanel();
ph。
add(录入);
ph.add(查询);
ph。
add(修改);
ph。
add(删除);
ph。
add(显示);
file=newFile(”学生信息.txt”);
学生散列表=newHashtable();
if(!
file。
exists()){
try{
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=newObjectOutputStream(out);
objectOut。
writeObject(学生散列表);
objectOut.close();
out.close();
}
catch(IOExceptione){}
}
Containercon=getContentPane();
con。
setLayout(newBorderLayout());
con。
add(lb,BorderLayout.NORTH);
con.add(pv,BorderLayout。
CENTER);
con。
add(ph,BorderLayout。
SOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100,100,600,300);
setVisible(true);
}
publicstaticvoidmain(String[]args){
newTest();}
classInputActimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
修改。
setEnabled(false);
Stringnumber="";
number=学号。
getText();
if(number。
length()〉0){
try{
inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
学生散列表=(Hashtable)inTwo。
readObject();
inOne。
close();
inTwo。
close();
}
catch(Exceptionee){System。
out。
println("创建散列表出现问题?
");}
if(学生散列表.containsKey(number)){
Stringwarning=”该生信息已存在?
请到修改页面修改?
”;
JOptionPane。
showMessageDialog(null,warning,"警告”,
JOptionPane。
WARNING_MESSAGE);
}//endif1
else{
Stringm="该生信息将被录入?
";
int
ok=JOptionPane。
showConfirmDialog(null,m,”确认",
JOptionPane。
YES_NO_OPTION,JOptionPane。
INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
Stringname=姓名。
getText();
Stringspecialty=专业。
getText();
Stringgrade=年级.getText();
Stringborth=出生。
getText();
Stringsex=null;
if(男。
isSelected()){sex=男.getText();}
else{sex=女。
getText();}
学生=newStudent();
学生。
setNumber(number);
学生.setName(name);
学生.setSpecialty(specialty);
学生。
setGrade(grade);
学生。
setBorth(borth);
学生.setSex(sex);
try{
outOne=new
FileOutputStream(file);
outTwo=new
ObjectOutputStream(outOne);
学生散列表。
put(number,学生);
outTwo。
writeObject(学生散列表);
outTwo。
close();
outOne。
close();
}
catch(Exceptionee){System.out。
println("输出散列表出现问题?
");}
学号.setText(null);
姓名。
setText(null);
专业.setText(null);
年级。
setText(null);
出生.setText(null);
}
}//endelse1
}//endif0
else{
Stringwarning=”必须输入学号?
”;
JOptionPane.showMessageDialog(null,warning,
"警告",JOptionPane。
WARNING_MESSAGE);
}//endelse0
}//endactionPerformed
}//endclass
classIn