Java课程设计学生信息管理系统Word文档下载推荐.docx
《Java课程设计学生信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java课程设计学生信息管理系统Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
·
管理员登陆
学生信息管理
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生管理信息系统.
3.设计方案
3.1总体设计
本程序要构建的学生管理系统程序其功能有以下几个方面:
(1)首先是学生管理系统主界面“管理员登录界面”。
(2)管理员登录之后的子界面“学生信息管理界面”。
(3)学生信息管理界面可对学生信息进行填写操作。
(4)学生信息管理界面底端并含有“录入、查询、修改、删除、显示”五个操作按钮。
3.2开发环境
WindowsXP;
myeclipse—8。
5.0—win32
3.3
学生信息管理系统
管理员登陆
学生信息管理
添加学生信息
查询学生信息
修改学生信息
删除学生信息
显示学生信息
层次图
3.4界面预览
3.4.1登录界面
3.4.2该管理员不存在(用户名:
name用户密码:
psw)
3.4.3学生信息管理界面
3.4.4填写学生信息
3.4.5录入学生信息
3.4.6查询学生信息
3.4.7修改学生信息
3.4.8删除学生信息
3.4.9显示所有学生信息
4.系统说明
1、该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中。
2、关于管理员信息,必须现在C盘建立一个名为Login的文本文档,在Login中存入用户名和密码且必须分行写入。
3、若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改。
5。
设计体会与小结
通过这次课程设计,我们大家在老师的帮助下收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。
编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。
这次的课程设计使我对JAVA的许多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!
课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了.
本次Java课程设计的锻炼,不仅我们的分析问题跟解决问题的能力都得到明显的提高,在这次事件过程中收获很多,对我们而言,知识上的收回,尽管遇到了困难,但还是通过各种途径克服问题。
做小小的测试,通过了就很开心,收获颇多,但是知识还是欠缺,我们会继续努力.
6。
附录
1登录界面源代码Login.java
packageaa;
importjava。
awt。
event.*;
importjavax。
swing.*;
importjava。
*;
awt.event。
ActionEvent;
importjava.awt。
event。
ActionListener;
WindowAdapter;
WindowEvent;
importjava.io.BufferedReader;
importjava.io.File;
io.FileReader;
io.IOException;
util.*;
sql。
*;
classLoginextendsJFrameimplementsActionListener
{
Containercp=null;
Stringname=null;
Stringpsw=null;
JFramef=null;
JButtonj1,j2;
JTextFieldt1;
JPasswordFieldt2;
JLabeljlable1,jlable2;
Colorc;
JPaneljp1,jp2;
Login(){
f=newJFrame("
学生管理系统”);
j1=newJButton("
确定”);
j2=newJButton("
取消”);
cp=f。
getContentPane();
jlable1=newJLabel("
输入用户名”);
jlable2=newJLabel(”用户密码"
);
jp1=newJPanel();
jp2=newJPanel();
t1=newJTextField(18);
t2=newJPasswordField(18);
jp1.add(jlable1);
jp1。
add(t1);
add(jlable2);
jp1.add(t2);
JLabelJL=newJLabel(”〈html〉<
fontcolor=#CC00FFsize='
4’〉〈i〉欢迎进入信息工程学院管理系统〈/i〉〈/font〉”,SwingConstants。
CENTER);
cp.add(JL,"
North"
);
jp2.add(j1);
jp2.add(j2);
cp。
add(jp1,”Center”);
cp.add("
South"
jp2);
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){
out。
println();
}else{
String[]str=temp.split(”,”);
name=str[0];
psw=str[1];
if((t1。
getText()。
trim().equals(name))&
&(t2。
equals(psw))){
newTest();
f.hide();
br.close();
JOptionPane.showMessageDialog(null,”该用户不存在"
,”提示?
”,JOptionPane.YES_NO_OPTION);
t1。
setText(”"
t2。
publicvoidactionPerformed(ActionEvente)
Stringcmd=e.getActionCommand();
if(cmd.equals(”确定"
)){
confirm();
}catch(IOExceptione1){
e1。
printStackTrace();
elseif(cmd。
equals(”取消”)){
dispose();
publicstaticvoidmain(String[]args){
Logina=newLogin();
6.2学生信息管理系统源码Student.java
packageaa;
awt.*;
*;
io。
importjava.util.*;
publicclassStudentimplementsjava。
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。
p2.add(姓名);
p3=newJPanel();
p3.add(newJLabel(”性别:
,JLabel.CENTER));
p3.add(男);
p3。
add(女);
p4=newJPanel();
p4.add(newJLabel("
p4.add(专业);
p5=newJPanel();
p5。
add(newJLabel("
年级:
”,JLabel.CENTER));
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);
add(p5);
add(p6);
ph=newJPanel();
ph。
add(录入);
ph.add(查询);
add(修改);
add(删除);
add(显示);
file=newFile(”学生信息.txt”);
学生散列表=newHashtable();
exists()){
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=newObjectOutputStream(out);
objectOut。
writeObject(学生散列表);
objectOut.close();
out.close();
catch(IOExceptione){}
Containercon=getContentPane();
con。
setLayout(newBorderLayout());
add(lb,BorderLayout.NORTH);
con.add(pv,BorderLayout。
add(ph,BorderLayout。
SOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100,100,600,300);
setVisible(true);
publicstaticvoidmain(String[]args){
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。
println("
创建散列表出现问题?
if(学生散列表.containsKey(number)){
Stringwarning=”该生信息已存在?
请到修改页面修改?
”;
JOptionPane。
showMessageDialog(null,warning,"
警告”,
WARNING_MESSAGE);
}//endif1
else{
Stringm="
该生信息将被录入?
;
int
ok=JOptionPane。
showConfirmDialog(null,m,”确认"
YES_NO_OPTION,JOptionPane。
INFORMATION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
Stringname=姓名。
Stringspecialty=专业。
getText();
Stringgrade=年级.getText();
Stringborth=出生。
Stringsex=null;
if(男。
isSelected()){sex=男.getText();
else{sex=女。
学生=newStudent();
学生。
setNumber(number);
学生.setName(name);
学生.setSpecialty(specialty);
setGrade(grade);
setBorth(borth);
学生.setSex(sex);
outOne=new
FileOutputStream(file);
outTwo=new
ObjectOutputStream(outOne);
学生散列表。
put(number,学生);
outTwo。
writeObject(学生散列表);
outOne。
catch(Exceptionee){System.out。
输出散列表出现问题?
学号.setText(null);
姓名。
setText(null);
专业.setText(null);
年级。
出生.setText(null);
}//endelse1
}//endif0
Stringwarning=”必须输入学号?
JOptionPane.showMessageDialog(null,warning,
警告"
,JOptionPane。
WARNING_MESSAGE);
}//endelse0
}//endactionPerformed
}//endclass
classIn