JAVA课程设计学籍管理系统.docx

上传人:b****1 文档编号:2724955 上传时间:2023-05-04 格式:DOCX 页数:42 大小:43.46KB
下载 相关 举报
JAVA课程设计学籍管理系统.docx_第1页
第1页 / 共42页
JAVA课程设计学籍管理系统.docx_第2页
第2页 / 共42页
JAVA课程设计学籍管理系统.docx_第3页
第3页 / 共42页
JAVA课程设计学籍管理系统.docx_第4页
第4页 / 共42页
JAVA课程设计学籍管理系统.docx_第5页
第5页 / 共42页
JAVA课程设计学籍管理系统.docx_第6页
第6页 / 共42页
JAVA课程设计学籍管理系统.docx_第7页
第7页 / 共42页
JAVA课程设计学籍管理系统.docx_第8页
第8页 / 共42页
JAVA课程设计学籍管理系统.docx_第9页
第9页 / 共42页
JAVA课程设计学籍管理系统.docx_第10页
第10页 / 共42页
JAVA课程设计学籍管理系统.docx_第11页
第11页 / 共42页
JAVA课程设计学籍管理系统.docx_第12页
第12页 / 共42页
JAVA课程设计学籍管理系统.docx_第13页
第13页 / 共42页
JAVA课程设计学籍管理系统.docx_第14页
第14页 / 共42页
JAVA课程设计学籍管理系统.docx_第15页
第15页 / 共42页
JAVA课程设计学籍管理系统.docx_第16页
第16页 / 共42页
JAVA课程设计学籍管理系统.docx_第17页
第17页 / 共42页
JAVA课程设计学籍管理系统.docx_第18页
第18页 / 共42页
JAVA课程设计学籍管理系统.docx_第19页
第19页 / 共42页
JAVA课程设计学籍管理系统.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA课程设计学籍管理系统.docx

《JAVA课程设计学籍管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计学籍管理系统.docx(42页珍藏版)》请在冰点文库上搜索。

JAVA课程设计学籍管理系统.docx

JAVA课程设计学籍管理系统

课程设计任务书

题目:

学籍管理系统

组员

学号

组员

学号

组员

学号

专业

课程JAVA

指导教师

完成时间:

2011年9月——2011年12月

计算机科学系制

课程设计任务书及成绩评定

课程设计的任务和具体要求

1.录入学生基本信息的功能界面。

2.修改学生基本信息的功能界面。

3.查询学生基本信息的功能界面。

4.删除学生基本信息的功能界面。

指导教师签字:

日期:

指导教师评语

成绩:

指导教师签字:

日期:

课程设计所需软件、硬件

JAVA编程工具MyEclipse6

课程设计进度计划

起止日期

工作内容

备注

2011年10月至2011年12月

编写一个程序可以用来管理学籍数据库

参考文献、资料索引

序号

文献、资料名称

编著者

出版单位

1高晓黎,刘博主编,清华大学出版社

2《Java编程思想》

3《Java核心技术》

4《深入简出java》

本学籍管理系统共有6个java源文件。

类之间的主要关系如图所示。

StudentManager(主类)

StudentSituation

Inquest

Delete

ModifySituation

Student

StudentManager.java

该java文件的类负责创建学籍管理系统主窗口。

该类含有main方法,程序从该类开始执行。

StudentSituation.java

该文件的类负责创建学籍管理系统的学生信息录入界面。

ModifySituation.java

该文件的类负责创建学籍管理系统的学生信息修改界面。

Inquest.java

该文件的类负责创建学籍管理系统的学生信息查询界面。

Delete.java

该文件的类负责创建学籍管理系统的学生信息删除界面。

Student.java

负责创建存放学生信息的对象。

1.具体设计

1.1主类StudentManager

1.成员变量(见下表)

主要成员变量(属性)

成员变量描述

变量类型

名称

基本信息录入界面

StudentSituation

基本信息录入

基本信息修改界面

ModifySituation

基本信息修改

基本信息查询界面

Inquest

基本信息查询

基本信息删除界面

Delete

基本信息删除

菜单选项

JmenuItem

录入,修改,查询,删除

存放基本信息的散列表

Hashtable

基本信息

存放散列表的文件

File

file

2.方法(见下表)

主要方法

名称

功能

备注

StudentManager

创建程序主窗口

构造方法

actionPerformed

处理ActionEvent事件

接口方法

main

程序开始运行

3.代码

StudentManager.java

importjava.awt.*;

importjavax.swing.*;

importjava.io.*;

publicclassStudentManagerextendsJFrameimplementsActionListener

{

StudentSituation基本信息录入=null;//创建基本信息录入界面

ModifySituation基本信息修改=null;//创建基本信息修改界面

Inquest基本信息查询=null;

Delete基本信息删除=null;

JMenuBarbar;

JMenufileMenu;

JMenuItem录入,修改,查询,删除;

Containercon=null;

Hashtable基本信息=null;//存放基本信息的散列表

Filefile=null;//存放散列表的文件

CardLayoutcard=null;//卡片式布局

JLabellabel=null;//欢迎语标签

JPanelpCenter;

publicStudentManager()

{

录入=newJMenuItem("录入学生基本信息");

修改=newJMenuItem("修改学生基本信息");

查询=newJMenuItem("查询学生基本信息");

删除=newJMenuItem("删除学生基本信息");

bar=newJMenuBar();

fileMenu=newJMenu("菜单选项");

fileMenu.add(录入);

fileMenu.add(修改);

fileMenu.add(查询);

fileMenu.add(删除);

bar.add(fileMenu);

setJMenuBar(bar);

label=newJLabel("欢迎使用学生基本信息管理系统",JLabel.CENTER);

label.setFont(newFont("TimesRoman",Font.BOLD,24));

label.setForeground(Color.red);

基本信息=newHashtable();

录入.addActionListener(this);

修改.addActionListener(this);

查询.addActionListener(this);

删除.addActionListener(this);

card=newCardLayout();

con=getContentPane();

pCenter=newJPanel();

pCenter.setLayout(card);

file=newFile("基本信息.txt");

if(!

file.exists())

{

try{

FileOutputStreamout=newFileOutputStream(file);

ObjectOutputStreamobjectOut=newObjectOutputStream(out);

objectOut.writeObject(基本信息);

objectOut.close();

out.close();

}

catch(IOExceptione)

{

}

}

基本信息录入=newStudentSituation(file);

基本信息修改=newModifySituation(file);

基本信息查询=newInquest(this,file);

基本信息删除=newDelete(file);

pCenter.add("欢迎语界面",label);

pCenter.add("录入界面",基本信息录入);

pCenter.add("修改界面",基本信息修改);

pCenter.add("删除界面",基本信息删除);

con.add(pCenter,BorderLayout.CENTER);

con.validate();

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{

System.exit(0);

}

});

setVisible(true);

setBounds(100,50,420,380);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==录入)

{

card.show(pCenter,"录入界面");

}

elseif(e.getSource()==修改)

{

card.show(pCenter,"修改界面");

}

elseif(e.getSource()==查询)

{//“基本信息查询”窗口设置为独立窗口,以便于用户进行查询

基本信息查询.setVisible(true);

}

elseif(e.getSource()==删除)

{

card.show(pCenter,"删除界面");

}

}

publicstaticvoidmain(Stringargs[])

{

newStudentManager();

}

}

1.2录入界面StudentSituation

1.成员变量(见下表)

主要成员变量(属性)

描述

变量类型

名称

存放“学生”对象的散列表

Hashtable

基本信息表

输入学生基本信息的文本条

JtextField

学号,姓名,专业,年级,出生

存放学生信息的对象

Student

学生

2.方法(见下表)

主要方法

名称

功能

备注

StudentSituation

创建学生录入界面

构造方法

actionPerformed

处理ActionEvent事件

接口方法

3.代码

StudentSituation.java

importjava.awt.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassStudentSituationextendsJPanelimplementsActionListener

{

Hashtable基本信息表=null;//存放学生基本信息的散列表

JTextField学号,姓名,专业,年级,出生;//输入基本信息的文本条

JRadioButton男,女;

Student学生=null;

ButtonGroupgroup=null;

JButton录入,重置;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

FileOutputStreamoutOne=null;

ObjectOutputStreamoutTwo=null;

Filefile=null;//存放散列表的文件

publicStudentSituation(Filefile)

{

this.file=file;

学号=newJTextField(10);

姓名=newJTextField(10);

专业=newJTextField(10);

年级=newJTextField(10);

出生=newJTextField(10);

group=newButtonGroup();

男=newJRadioButton("男",true);

女=newJRadioButton("女",false);

group.add(男);

group.add(女);

录入=newJButton("录入");

重置=newJButton("重置");

录入.addActionListener(this);

重置.addActionListener(this);

Boxbox1=Box.createHorizontalBox();//创建6个水平Box容器

box1.add(newJLabel("学号:

",JLabel.CENTER));

box1.add(学号);

Boxbox2=Box.createHorizontalBox();

box2.add(newJLabel("姓名:

",JLabel.CENTER));

box2.add(姓名);

Boxbox3=Box.createHorizontalBox();

box3.add(newJLabel("性别:

",JLabel.CENTER));

box3.add(男);

box3.add(女);

Boxbox4=Box.createHorizontalBox();

box4.add(newJLabel("专业:

",JLabel.CENTER));

box4.add(专业);

Boxbox5=Box.createHorizontalBox();

box5.add(newJLabel("年级:

",JLabel.CENTER));

box5.add(年级);

Boxbox6=Box.createHorizontalBox();

box6.add(newJLabel("出生:

",JLabel.CENTER));

box6.add(出生);

//创建一个垂直Box容器,其中从上向下排列6个水平Box容器

BoxboxH=Box.createVerticalBox();

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(box5);

boxH.add(box6);

boxH.add(Box.createVerticalGlue());//垂直Box容器内的组件靠上对齐

JPanelpCenter=newJPanel();

pCenter.add(boxH);

setLayout(newBorderLayout());

add(pCenter,BorderLayout.CENTER);

JPanelpSouth=newJPanel();

pSouth.add(录入);

pSouth.add(重置);

add(pSouth,BorderLayout.SOUTH);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==录入)

{

Stringnumber="";

number=学号.getText();

if(number.length()>0)//如果已输入学号

{

try{

inOne=newFileInputStream(file);

inTwo=newObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject();//首先到文件中读取Hashtable

//对象

inOne.close();

inTwo.close();

}

catch(Exceptionee)

{

}

if(基本信息表.containsKey(number))//如果该学号对应的学生基本信息已经存在

{//弹出警告对话框

Stringwarning="该生基本信息已存在,请到修改页面修改!

";

JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.

WARNING_MESSAGE);

}

else//否则,弹出确认对话框

{

Stringm="基本信息将被录入!

";

intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,

JOptionPane.INFORMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION)

{

Stringname=姓名.getText();

Stringdiscipling=专业.getText();

Stringgrade=年级.getText();

Stringborth=出生.getText();

Stringsex=null;

if(男.isSelected())

{

sex=男.getText();

}

else

{

sex=女.getText();

}

学生=newStudent();

学生.setNumber(number);

学生.setName(name);

学生.setDiscipling(discipling);

学生.setGrade(grade);

学生.setBorth(borth);

学生.setSex(sex);

try{

outOne=newFileOutputStream(file);

outTwo=newObjectOutputStream(outOne);

基本信息表.put(number,学生);

outTwo.writeObject(基本信息表);

outTwo.close();

outOne.close();

学号.setText(null);

姓名.setText(null);

专业.setText(null);

年级.setText(null);

出生.setText(null);

}

catch(Exceptionee)

{

}

}

}

}

else

{//弹出警告对话框

Stringwarning="必须要输入学号!

";

JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.

WARNING_MESSAGE);

}

}

if(e.getSource()==重置)

{

学号.setText(null);

姓名.setText(null);

专业.setText(null);

年级.setText(null);

出生.setText(null);

}

}

}

1.3查询界面Inquest

1.成员变量(见下表)

主要成员变量(属性)

描述

变量类型

名称

存放“学生”对象的散列表

Hashtable

year

显示学生基本信息的文本条

JTextField

学号,姓名,专业,年级,出生

2.方法(见下表)

主要方法

名称

功能

备注

Inquest

创建查询界面

构造方法

actionPerformed

处理ActionEvent事件

接口方法

3.代码

Inquest.java

importjava.awt.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassInquestextendsJDialogimplementsActionListener

{

Hashtable基本信息表=null;//存放学生基本信息的散列表

JTextField学号,姓名,专业,年级,出生;//显示学生基本信息的文本条

JRadioButton男,女;

JButton查询;

ButtonGroupgroup=null;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

Filefile=null;//存放散列表的文件

publicInquest(JFramef,Filefile)

{

super(f,"查询对话框",false);//创建无模式对话框

this.file=file;

学号=newJTextField(10);

查询=newJButton("查询");

学号.addActionListener(this);

查询.addActionListener(this);

姓名=newJTextField(10);

姓名.setEditable(false);

专业=newJTextField(10);

专业.setEditable(false);

年级=newJTextField(10);

年级.setEditable(false);

出生=newJTextField(10);

出生.setEditable(false);

男=newJRadioButton("男",false);

女=newJRadioButton("女",false);

group=newButtonGroup();

group.add(男);

group.add(女);

//创建6个水平Box容器,容器内从左向右排列组件

Boxbox1=Box.createHorizontalBox();

box1.add(newJLabel("输入要查询的学号:

",JLabel.CENTER));

box1.add(学号);

box1.add(查询);

Boxbox2=Box.createHorizontalBox();

box2.add(newJLabel("姓名:

",JLabel.CENTER));

box2.add(姓名);

Boxbox3=Box.createHorizontalBox();

box3.add(newJLabel("性别:

",JLabel.CENTER));

box3.add(男);

box3.add(女);

Boxbox4=Box.createHorizontalBox();

box4.add(newJLabel("专业:

",JLabel.CENTER));

box4.add(专业);

Boxbox5=Box.createHorizontalBox();

box5.add(newJLabel("年级:

",JLabel.CENTER));

box5.add(年级);

Boxbox6=Box.createHorizontalBox();

box6.add(newJLabel("出生:

",JLabel.CENTER));

box6.add(出生);

//创建一个垂直Box容器,在其中自上向下排列6个水平Box容器

BoxboxH=Box.createVerticalBox();

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(box5);

boxH.add(box6);

boxH.add(Box.createVerticalGlue());//使垂直Box容器内的组件靠上对齐

JPanelpCenter=newJPanel();

pCenter.add(boxH);

Containercon=getContentPane();

con.add(pCenter,BorderLayout.CEN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2