学生管理系统java课程设计Word文档格式.docx

上传人:b****4 文档编号:16751067 上传时间:2022-11-25 格式:DOCX 页数:55 大小:423.49KB
下载 相关 举报
学生管理系统java课程设计Word文档格式.docx_第1页
第1页 / 共55页
学生管理系统java课程设计Word文档格式.docx_第2页
第2页 / 共55页
学生管理系统java课程设计Word文档格式.docx_第3页
第3页 / 共55页
学生管理系统java课程设计Word文档格式.docx_第4页
第4页 / 共55页
学生管理系统java课程设计Word文档格式.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

学生管理系统java课程设计Word文档格式.docx

《学生管理系统java课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生管理系统java课程设计Word文档格式.docx(55页珍藏版)》请在冰豆网上搜索。

学生管理系统java课程设计Word文档格式.docx

3,此程序给出了“按照学号排序”“按照平均成绩排序”“按照英语成绩排序”“按照数学成绩排序”“按照专业成绩排序”等五个排序方法。

4,此程序在查询的同时又能同时显示出三科成绩的饼图分布,饼图上标出了四个成绩段的人数和百分比。

更加方便直观的体现出了单科的成绩分布。

5,程序有一个增加的功能。

能够将所有同学的信息用三维柱状图的形式全部呈现出来,能够进行纵向、横向两种比较方式。

方便人性化的进行成绩的比较。

三、系统的UML类图

(一)用况图

(二)类之间的图

①student类

②sort类

(三)数据流程图

四、功能调试

1,主界面

2,新建学生信息

3,查询成绩页面

4,修改成绩

5,删除成绩

第二种方法

6,打印文件内容

7,三科的排序

8,平均成绩排序:

9,三科的饼图分布

10,所有同学的成绩三维柱状图分析

五、具体代码

1,主界面代码(Grade.java)

publicclassGrade{

//定义主框架

privateJFrameframe=newJFrame("

学生成绩管理系统"

);

//定义菜单栏

privateJMenuBarBar=newJMenuBar();

//定义菜单

privateJMenuJMedit=newJMenu("

编辑"

privateJMenuJMcount=newJMenu("

统计"

privateJMenuJMhelp=newJMenu("

数据"

//定义菜单项

privateJMenuItemJMIcreate=newJMenuItem("

新建"

privateJMenuItemJMImodify=newJMenuItem("

修改"

privateJMenuItemJMIsearch=newJMenuItem("

寻找"

privateJMenuItemJMIdelete=newJMenuItem("

删除"

privateJMenuItemJMIall=newJMenuItem("

成绩排序"

privateJMenuItemJMIgraphics=newJMenuItem("

图形统计"

privateJMenuItemJMIhelp=newJMenuItem("

文件信息"

//定义文本标签

privateJLabeltext=newJLabel();

privateJLabeltext1=newJLabel();

privateJLabeltext2=newJLabel();

privateJLabeltext3=newJLabel();

privateJLabeltext4=newJLabel();

//定义面板

privateContainercon=frame.getContentPane();

//定义输入框对象

//privateStudentManagerinputinfo=null;

//定义查询框架对象

privateSearchsearch=null;

privateCreatecreate=null;

privateDeletedelete=null;

privateModifymodify=null;

privateDatasortsort=null;

privateBarChartsss=null;

//定义总分统计对象

//privateAllgradeCountall=null;

//定义个人统计对象

//privateSignalCountsignal=null;

//构造函数

publicGrade(){

//把菜单栏加入框架

frame.setJMenuBar(Bar);

//把菜单加入菜单栏

Bar.add(JMedit);

Bar.add(JMcount);

Bar.add(JMhelp);

//把菜单项加入菜单

JMedit.add(JMIcreate);

JMedit.addSeparator();

JMedit.add(JMIsearch);

JMedit.add(JMImodify);

JMedit.add(JMIdelete);

//第一个下拉菜单

JMcount.add(JMIall);

JMcount.addSeparator();

JMcount.add(JMIgraphics);

//第二个下拉

JMhelp.add(JMIhelp);

//第三个//设置文本界面

text.setText("

==============基于TXT文件的Java学生管理系统==========="

text1.setText("

1.增添、删除、修改学生基本信息;

并计算每门课的平均成绩;

"

text2.setText("

2.统计优秀、良好、中等、及格、不及格的百分比,并以图呈现"

text3.setText("

3.按学号查询学生及成绩,并按照不同的成绩分数排序。

text4.setText("

===============制作者,计算机09-3,王继重============="

//设置欢迎界面

con.setLayout(newFlowLayout(FlowLayout.LEFT,0,10));

con.add(text);

con.add(text1);

con.add(text2);

con.add(text3);

con.add(text4);

//设置框架

frame.setLocation(200,200);

frame.setSize(400,300);

frame.setVisible(true);

frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

//增加监听器

JMIcreate.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){//TODO自动生成方法存根

create=newCreate();

}

});

JMIsearch.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

search=newSearch();

}});

JMImodify.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){modify=newModify();

JMIdelete.addActionListener(newActionListener(){

delete=newDelete();

JMIall.addActionListener(newActionListener(){

sort=newDatasort();

JMIgraphics.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

ss=newBarCharts("

成绩分布柱状图"

JMIhelp.addActionListener(newActionListener(){

//JOptionPane.showMessageDialog(null,"

计算机09-3王继重"

Outfilea=newOutfile();

}

publicstaticvoidmain(String[]args)

{Gradea=newGrade();

}

2,新建用户的代码

publicclassCreateextendsJFrame{

/**

*当前容器

*/

ContainercurrentContainer=this;

*存储的文件名

StringfileName=newString("

data.txt"

*显示标题文本

JLabeltitleLabel=newJLabel("

添加成绩界面"

*标题面板

JPaneltitlePanel=newJPanel();

*显示姓名文本

JLabelnameLabel=newJLabel("

学生姓名"

*显示成绩文本

JLabelscoreLabel=newJLabel("

学生学号"

JLabelscore1Label=newJLabel("

英语成绩"

JLabelscore2Label=newJLabel("

数学成绩"

JLabelscore3Label=newJLabel("

专业成绩"

*姓名文本框

JTextFieldnameTextField=newJTextField(15);

*成绩文本框

JTextFieldscoreTextField=newJTextField(15);

JTextFieldscore1TextField=newJTextField(15);

JTextFieldscore2TextField=newJTextField(15);

JTextFieldscore3TextField=newJTextField(15);

*输入面板

JPanelinputPanel=newJPanel();

*添加按钮

JButtoninsertBtn=newJButton("

*管理面板

JPanelmanagePanel=newJPanel();

*按钮监听器

ButtonActionListenerbtnAction=newButtonActionListener();

*构造器:

初始化窗体

publicCreate(){

this.setSize(280,300);

this.setLocation(300,300);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

this.setTitle("

java学生成绩管理系统"

/*

*将窗体划分为上中下三个块

*/

this.setLayout(newBorderLayout());

this.add(titlePanel,"

North"

this.add(inputPanel,"

Center"

this.add(managePanel,"

South"

*第一块用来放标题面板==

titlePanel.setLayout(newFlowLayout(FlowLayout.CENTER,0,10));

titlePanel.add(titleLabel);

titleLabel.setFont(newFont("

黑体"

Font.PLAIN,16));

*第二块放输入面板

inputPanel.setLayout(newFlowLayout(FlowLayout.CENTER,20,10));

inputPanel.add(nameLabel);

//姓名

inputPanel.add(nameTextField);

inputPanel.add(scoreLabel);

//成绩

inputPanel.add(scoreTextField);

//?

?

inputPanel.add(score1Label);

//成绩1

inputPanel.add(score1TextField);

inputPanel.add(score2Label);

//成绩2

inputPanel.add(score2TextField);

inputPanel.add(score3Label);

//成绩3

inputPanel.add(score3TextField);

*第三块是管理面板

managePanel.setLayout(newFlowLayout(FlowLayout.CENTER,5,10));

managePanel.add(insertBtn);

*为按钮注册按钮监听器

insertBtn.addActionListener(btnAction);

*显示窗体

this.setVisible(true);

*按钮监听类

classButtonActionListenerimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

/*

*检查是否输入了姓名

*/

Stringname=nameTextField.getText().trim();

if(name.length()==0){

JOptionPane.showMessageDialog(currentContainer,"

输入的姓名为空!

"

操作失败"

JOptionPane.ERROR_MESSAGE);

return;

*是否要求查询

intscore=0;

intscore1=0;

intscore2=0;

intscore3=0;

*检查是否输入了成绩,输入不同的成绩

try{

score=Integer.parseInt(scoreTextField.getText().trim());

}catch(Exceptione1){

输入的成绩不是数字!

score1=Integer.parseInt(score1TextField.getText().trim());

score2=Integer.parseInt(score2TextField.getText().trim());

score3=Integer.parseInt(score3TextField.getText().trim());

*是否要求录入

if(e.getSource()==insertBtn){

booleanflag=insert(name,score,score1,score2,score3);

//执行方法,进行录入操作

if(flag){

JOptionPane.showMessageDialog(currentContainer,"

录入成功!

scoreTextField.setText("

//清空成绩框

score1TextField.setText("

score2TextField.setText("

score3TextField.setText("

}else{

JOptionPane.showMessageDialog(currentContainer,

"

录入过程中出现了异常,请联络技术人员!

"

录入失败"

JOptionPane.ERROR_MESSAGE);

}

}}}

*插入新记录

*

*@paramname

*姓名

*@paramscore

*成绩

publicbooleaninsert(Stringname,intscore,intscore1,intscore2,

intscore3){

try{

*写入文件

Writerout=newFileWriter(fileName,true);

out.write(name+"

:

+score+"

+score1+"

+score2+"

+score3+"

\r\n"

out.close();

returntrue;

}catch(IOExceptione){

e.printStackTrace();

returnfalse;

}}

*入口方法

*@paramargs

publicstaticvoidmain(String[]args){

newCreate();

3,修改类

publicclassModifyextendsJFrame{

修改成绩界面"

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

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1