JAVA课程设计汇本_第1页
JAVA课程设计汇本_第2页
JAVA课程设计汇本_第3页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计论文任务书学院数学学院专业信息与计算科学学生某王继禹学号5课程设计题目红河学院成绩查询内容及要求:1. 根据学号查询学生成绩;2. 可以按学年、学期查询。评语年 月日成绩:指导教师签字:指导、检查记录日期功能完成情况评分1题目要求32系统设计42.1功能模块设计14功能说明:4必要知识点:52.2功能模块设计25系统逻辑构造设计5程序运行代码63运行结果分析214总结24参考文献251题目要求红河学院成绩查询功能要求:1. 根据学号查询学生成绩;2. 可以按学年、学期查询2系统设计描述为完成题目要求的系统设计,设计可以是按功能,或步骤分解,分解之后的内容要可检查,有相应的代码或文档说明

2、这局部功能。重点介绍自己负责局部的功能设计,设计可以包括功能模块图、必要的UML图,2.1功能模块设计1功能说明:1创立主类Mai nF rame下含4个类,对4个事件按钮添加监控,实现按钮事件为对应 类的对象,出现相应功能窗口。2创立添加类Insert,题目虽只要求查询学生成绩,但我们不可能再代码中添加学生成 绩,故需创立添加按钮,对按钮添加监控,实现按钮事件为获取文本域中的信息。3创立查询类QUERY,按照题目要求,分别创立学号,学年,学期三个查询按钮,此 外,为了便于查询,又创立某和课程两个查询按钮以及一个显示全部信息的按钮。4创立修改类Modify,因存在添加类Insert,为了防止添

3、加学生成绩信息时出现错误, 故应当建立修改按钮,与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域中 的信息,不同的是以学号为主键进展查找并更新。5创立删除类DELETE,同理,当学生成绩信息过多时进展删除,且使得窗口界面整 洁合理。与修改数据类似,对按钮添加监控,实现按钮事件为获取文本域中的学号信息, 不同的是以学号为主键进展查找并将删除信息输出到文本框中。必要知识点:1. 创立图形界面需运用到GUI语句,可参考课本355页的知识。2. 创立图形界面以后需要创立相关按钮,每一个按钮对应一个相关功能类。3. 为每一个按钮添加监听。4. 大致完成以后,修改界面,使其整洁有序,并可以修改界面

4、大小,按钮颜色。5. 添加与修改两个类需要连接到 SQL2008数据库,在数据库中进展信息的添加与删 除。2.2功能模块设计2系统逻辑构造设计学生成绩信息表字段名属性类型空值约束条件学号Sno文本not n ull主键某n ame文本从键学年Year文本从简学期Semester文本从简语文:Chin ese长整数英语En glish长整数数学Maths长整数222程序运行代码MainF rame 类:packagedazuoye;import java.sql.*;publicclassMainF rameexte nds JFrame utton insert, query, delete

5、modify;JPa nelpa nel, pan el1, pan el2public MainF rame() / TODO Auto-generated method stubImageIc on img = new ImageIc on ("1.gif');JLabel text1, text2, picture = new JLabel(mg);JFrame frame = new JFrame('学生成绩查询管理系统");insert = new utton("添加数据");in sert.setBackgrou nd(Col

6、or.ora nge);in sert.addActi on Liste ner( new in sertActio nPerformed();query = new utton("查询数据");query.addActi on Liste ner( new queryActi on Performed(); query.setBackgrou nd(Color.ora nge);modify = new utton("修改数据”);modify .setBackgrou nd(Color. oran ge);modify .addActionListener(

7、new modifyActionPerformed();delete = new utton("删除数据");delete.setBackgrou nd(Color.ora nge;delete.addActio nListe ner( new deleteActio nPerformed();frame.setSize(360, 200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );Container conten tPa ne = frame.getC onten tPa ne();con te ntPa

8、ne.setLayout( new BorderLayout();text1 = new JLabelf红河学院学生成绩管理系统",JLabelCENTER); textl.setFont(new Font(”宋体",Font. BOLD , 26);textl.setForegrou nd(Color. blue););text2 = new JLabel("" + "text2.setFont(new Font("TimesRoman", Font. ROMAN_BASELINE , 14); pan el1 = new

9、 JPa nel();pan el1.add(i nsert);pan el1.add(query);pan el2 = new JPa nel();pan el2.add(modify);pan el2.add(delete);pan el1.setOpaque(false);pan el2.setOpaque(false);panel = new JPa nel();panel.add(text2, BorderLayout. NORTH );panel.add(panel1, BorderLayout. NORTH );pan el.add(pa nel2 BorderLayout. S

10、OUTH);pan el.setOpaque(false);contentPane.add(text1, BorderLayout. NORTH );contentPane.add(panel, BorderLayout. CENTER);frame.getLayeredPane().addpicture, new Integer(Integer.MIN_VALUE );Toolkit kit = Toolkit. getDefaultToolkit();Dimension screenSize= kit.getScreenSize();in t scree nWidth = scree nS

11、izewidth / 2;in t scree nH eight = scree nSizeheight / 2;in t height = this.getHeight();in t width = this.getWidth();picture.setBou nds(0, 0, 360, 360);(JPa nel)c onten tPa ne).setOpaque(false);frame.setLocati on( scree nWidth - width / 2, scree nH eight - height / 2); frame.setVisible(true);publicc

12、lass insertActio“Performed implements ActionListener publicvoid acti on Performed(Acti on Eve nt e) new In sert().setVisible(true);publicclass modifyActionPerformed implements ActionListener publicvoid acti on Performed(Acti on Eve nt e) new Modify().setVisible( true);publicclass queryActio nPerform

13、ed impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) new Query().setVisible(true);publicclass deleteActi on Performed impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) new Delete().setVisible(true);publicstaticvoid main(String args new Mai nF ram

14、e();Insert 类:packagedazuoye;publicclassin sertexte nds JFrame JTextField inputl, input2 , input3, input4, input5 , input6,input7 ;JLabel labell, label2, label3, label4, label5;utt on butt on ;static Stateme nt st;static try Class.forNameConnection con = DriverManager. getConnectiojdbc:odbc:student&q

15、uot;);st = con. createStateme nt(); catch (Excepti on e) ResultSet rs;public In sert() in putl = new JTextField(15);in put2 = new JTextField(15);in put3 = new JTextField(15);in put4 = new JTextField(15);in put5 = new JTextField(15);in put6 = new JTextField(15);in put7 = new JTextField(15);JPa nelpa

16、nel = new JPa nel();pan eLsetLayout (new GridLayout(7,2);panel.add(new JLabelf 学号"),BorderLayout. CENTER);pan el.add(i nput1);panel.add(new JLabelf 某"),BorderLayout. CENTER);pan el.add(i nput2);panel.add(new JLabelf 学年"),BorderLayout. CENTER);pan el.add(i nput3);panel.add(new JLabelf

17、学期"),BorderLayout. CENTER);pan el.add(i nput4);panel.add(new JLabelf 语文"),BorderLayout. CENTER);pan el.add(i nput5);panel.add(new JLabelf 英语"),BorderLayout. CENTER);pan el.add(i nput6);panel.add(new JLabelf 数学"),BorderLayout. CENTER);pan el.add(i nput7);butt on = new utt on("

18、;添加");butt on .addActi on Liste ner(new mysql();Container container = getC onten tPa ne();contain er.add(pa nel, BorderLayout. CENTER);container.add(button , BorderLayout. SOUTH);setTitle("添加数据窗口 ");setDefaultCloseOperatio n(JFrame.DISPOSE_ON_CLOSE); setSize(300,300);Toolkit kit = Too

19、lkit. getDefaultToolkit();Dimension screenSize= kit.getScreenSize();in t scree nWidth = scree nSizewidth / 2;in t scree nH eight = scree nSizeheight / 2;in t height = this.getHeight();in t width = this.getWidth();setLocati on (scree nWidth - width / 2, scree nH eight - height / 2); setVisible(true);

20、classmysql impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try String sno = input1.getText().trim();String name = input2.getText().trim();String year = input3.getText().trim();String semester = input4.getText().trim();String chinese = input5.getText().trim();Stri ng en g

21、lish = in put6.getText().trim();String maths = input7 .getText().trim();if (sno.equals"") | name.equals"') | year.equals"") | semesterequals"")| chineseequals("')| english.equals("')| maths.equals"') JOptionPane.showMessageDialoginser

22、t.this,"请重新输入","提示对话框",1); else Stri ng sql = "in sert into Score In fo(ID ,n ame,year,semester,Ch in ese,E nglish,Maths) values('" + sno + "','"+ name + "','" + year + "'," + semeste+ "',"+ chinese + &

23、quot;," + english + "," + maths + ");" stexecuteUpdateql);JOptionPane.showMessageDialoginsert.this,"数据添加成功","提示对话框",1);in put1.setText("");in put2.setText("");in put3.setText("");in put4.setText("");in put5.setText(

24、"");in put6.setText("");in put7.setText(""); catch (Excepti on e© QUERY 类:packagedazuoye;import javax.swin g.eve nt.*;publicclassQueryexte nds JFrame JTextArea show;utton button1 , button2, button3, button4, button5,button6 ;JTextField field1, field2, field3,field4

25、;oBoxoBox;static Stateme nt st;static try Class.forNameConnection con = DriverManager. getConnectiojdbc:odbc:student");st = con. createStateme nt(); catch (Excepti on e) public Query() show = new JTextArea(6, 15);button1 = new utton("显示所有信息”);butt on 1 .addActi on Liste ner(new Mysql1();Co

26、ntainer container = getC onten tPa ne();contain er.setLayout( new BorderLayout();JPa nelpa nel = new JPa nel();JPa nelma inpanel = new JPa nel();button2 = new utton("按学号查询");button2 .addActionListener(new Mysql2();pan el.add(butt on 2);field1 = new JTextField(7);pan el.add(field1);pan eLse

27、tVisible(true);mainpan el.add(pa nel);button3 = new utton("按某查询");button3 .addActionListener(new Mysql3();pan el.add(butt on 3);field2 = new JTextField(6);pan el.add(field2);pan eLsetVisible(true);mainpan el.add(pa nel);button4 = new utton("按学年查询”);button4 .addActionListener(new Mysql

28、4();pan el.add(butt on 4);field3 = new JTextField(6);pan el.add(field3);pan eLsetVisible(true);mainpan el.add(pa nel);button5 = new utton("按学期查询");button5 .addActionListener(new Mysql4();pan el.add(butt on 5);field4 = new JTextField(6);pan el.add(field4);pan eLsetVisible(true);mainpan el.a

29、dd(pa nel);String items = "请选择","语文",“英语","数学" oBox = n ew oBox(items);butto n6 = new utto n(“按课程名称查询 ");button6 .addActionListener(new Mysql5();pan el.add(butt on 6);pan eLadd(oBox);pan eLsetVisible(true);mainpan el.add(pa nel);panel = new JPa nel();pan el.ad

30、d(butt on1);contain er.add(ma inpan el, BorderLayout. NORTH );contain er.add(pa nel, BorderLayout. SOUTH);container.add(new JScrollPanehow), BorderLayout. CENTER); setTitle("查询数据");setDefaultCloseOperatio n(JFrame.DISPOSE_ON_CLOSE); setSize(1000, 400);Toolkit kit = Toolkit. getDefaultToolk

31、it();Dimension screenSize= kit.getScreenSize();in t scree nWidth = scree nSizewidth / 2;in t scree nH eight = scree nSizeheight / 2;in t height = this.getHeight();in t width = this.getWidth();setLocati on (scree nWidth - width / 2, scree nH eight - height / 2); setVisible(true);classMysqll impleme n

32、ts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try Str ing sql = "select * from Score Info"ResultSet rs = stexecuteQuery(sql); show.setText("");show.append("序号学期学号语文某英语学年+ "n");while (rs.n ext() show.appe nds.getl nt(1) + "show.appe nds.ge

33、tStri ng(2) + " show.appe nds.getStri ng(3) + " show.appe nds.getStri ng(4) + " show.appe nds.getl nt(5) + " show.appe nds.getl nt(6) + "");");");");");");show.appe nds.getl nt(7) + "show.appends.getInt(8) + "n");"); catch (E

34、xcepti on e© classMysql2 impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nte) try String ss = field1.getText().trim();Stri ng sql = "select * from Score Info where ID='" ResultSet rs = stexecuteQuery(sql);show.setText("");show.append("序号学期+ &q

35、uot;n");学号语文某英语学年");");");");");");while (rs.n ext() show.appe nds.getl nt(1) + "show.appe nds.getStri ng(2) + "show.appe nds.getStri ng(3) + " show.appe nds.getStri ng(4) + " show.appe nds.getl nt(5) + " show.appe nds.getl nt(6) + ");

36、show.appe nds.getl nt(7) + " show.appends.getInt(8) + "n"); catch (Excepti on e© classMysql3 impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try String ss = field2.getText().trim();Stri ng sql = "select * from Score Info where n ame='" +

37、 ss + ResultSet rs = stexecuteQuery(sql);show.setText("");学年show.append("序号学号某学期语文英语+ "n");while (rs.n ext() show.appe nds.get In t(1) + "");show.appe nds.getStri ng(2) + "");show.appe nds.getStri ng(3) + "");show.appe nds.getStri ng(4) + "

38、");show.appe nds.get In t(5) +"");show.appe nds.get In t(6) +"");show.appe nds.get In t(7) +"");show.appends.getInt(8) + "n"); catch (Excepti on e© classMysql4 impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try String ss

39、 = field3 .getText().trim();Stri ng sql = "select * from Score Info where class='" + ss+ResultSet rs =stexecuteQuery(sql);show.setText("");show.append("序号学号某学期语文英语学年+ "n");while (rs.n ext() show.appe nds.getl nt(1) + " show.appe nds.getStri ng(2) + "

40、show.appe nds.getStri ng(3) + " show.appe nds.getStri ng(4) + " show.appe nds.getI nt(5) + " show.appe nds.getI nt(6) + " show.appe nds.getI nt(7) + " show.appends.getInt(8) + "n"); catch (Excepti on e© );");");"); ); ); );classMysql5 impleme nt

41、s Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try String ss = field3 .getText().trim();Stri ng sql = "select * from Score Info where class='" + ss+ ResultSet rs = stexecuteQuery(sql);show.setText("");show.append("序号学号某学期语文英语+ "n");while (rs

42、.n ext() show.appe nds.get In t(1) + "");show.appe nds.getStri ng(2) + "");show.appe nds.getStri ng(3) + "");show.appe nds.getStri ng(4) + "");show.appe nds.get In t(5) +"");show.appe nds.get In t(6) +"");show.appe nds.get In t(7) +"&q

43、uot;);show.appends.getInt(8) + "n"); catch (Excepti on e© 学年classMysql6 impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try String sql =""String ss = oBox.getSelectedltem().toString();if (ssequals( 语文")sql = "select ID, name,year,semest

44、er,Chi nese from Score Info " show.setText("");学年show.append("序号学号某学期语文“+ "n"); elseif (ssequals(英语")sql = "select ID, name,year,semester,E nglish from Score Info " show.setText("");学年show.append("序号学号某学期英语“+ "n"); elseif (ssequal

45、s(数学")sql = "select ID, name,year,semester,Maths from Score Info " show.setText("");学年show.append("序号学号某学期数学“+ "n");ResultSet rs = stexecuteQuery(sql);inti = 0;while (rs.n ext() i+;show.appe nd("" + i + "" + rs.getStri ng(1) + "")

46、;show.appe nds.getStri ng(2) + "");show.appe nds.getStri ng(3) + "");show.appends.getInt(4) + "n"); catch (Excepti on e© Modify 类:packagedazuoye;publicclassModify extends JFrame JTextField input1, input2 , input3, input4, input5 , input6,input7 ;JLabel label1, labe

47、l2, label3, label4, label5;utt on butt on ;static Stateme nt ststatic try Class.forNameConnection con = DriverManager. getConnectiojdbc:odbc:student"); st = con. createStateme nt(); catch (Excepti on e) ResultSet rs;public Modify() in put1 = new JTextField(15);in put2 = new JTextField(15);in pu

48、t3 = new JTextField(15);in put4 = new JTextField(15);in put5 = new JTextField(15);in put6 = new JTextField(15);in put7 = new JTextField(15);JPa nelpa nel = new JPa nel();pan eLsetLayout (new GridLayout(7, 3);panel.add(new JLabelf 学号");pan el.add(i nput1);pan el.add(new JLabelf 某");pan el.a

49、dd(i nput2);panel.add(new JLabelf 学年");pan el.add(i nput3);panel.add(new JLabelf 学期");pan el.add(i nput4);panel.add(new JLabelf 语文");pan el.add(i nput5);panel.add(new JLabelf 英语");pan el.add(i nput6);panel.add(new JLabel("数学");pan el.add(i nput7);butt on = new utton (”

50、修改");butt on .addActi on Liste ner(new mysql();Container container = getC onten tPa ne();contain er.add(pa nel, BorderLayout. CENTER);con tai ner.add(butt on , BorderLayout. SOUTH);setTitle("修改数据窗口 ");setDefaultCloseOperatio n(JFrame.DISPOSE_ON_CLOSE);setSize(400, 300);Toolkit kit = T

51、oolkit. getDefaultToolkit();Dimension screenSize= kit.getScreenSize();in t scree nWidth = scree nSizewidth / 2;in t scree nH eight = scree nSizeheight / 2;in t height = this.getHeight();in t width = this.getWidth();setLocati on (scree nWidth - width / 2, scree nH eight - height / 2);setVisible(true)

52、;classmysql impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt e) try String sno = input1.getText().trim();String name = input2.getText().trim();String year = input3.getText().trim();String semester = input4.getText().trim();String chinese = input5.getText().trim();Stri ng en

53、glish = in put6.getText().trim();String maths = input7 .getText().trim();if (sno.equals"") | name.equals('") | year.equals"") | semesterequals"")| chineseequals("')| english.equals('")| maths.equals('") JOptionPane.showMessageDialo(Mo

54、dify. this,"修改有错误!","提示对话框",1); else try Stri ng sql = "update Score Info set n ame='" + n ame + "',year='" + year + "',semester='" + semester+"',Ch in ese=" + chi nese+ ",E nglish=" + en glish + ",Mat

55、hs=" + maths + " where ID='" + sno + ""'stexecuteUpdateql);JOptionPane.showMessageDialo(Modify. this,"数据修改成功","提示对话框",1);inputl .setText("");in put2.setText("");in put3.setText("");in put4.setText("");in put

56、5.setText("");in put6.setText("");in put7.setText(""); catch (Excepti on e© JOptionPane.showMessageDialo(Modify. this,"请确认需要修改的学号是否存在","提示对话框",1);Systemoutprintln( ee); catch (Excepti on ee§ System.out.println( ee©DELETE 类:packagedazuo

57、ye;publicclassDeleteexte nds JFrame utt on searchJTextField in put;JTextArea show;Conn ecti on con;Stateme nt st;public Delete() JPa nelp = new JPa nel();search = new utton("删除");in put = new JTextField(IO);show = new JTextArea(6, 43);p.add(new JLabel("输入要删除的学号 ");p.add(i nput);p

58、.add(search);setTitle("删除数据窗口 ");search. addActi on Liste ner( new Mysql();show.setEditable(false);add(p, BorderLayout. NORTH);add(show, BorderLayout. CENTER);setSize(400, 150);Toolkit kit = Toolkit. getDefaultToolkit();Dimension screenSize= kit.getScreenSize();in t scree nWidth = scree nS

59、izewidth / 2;in t scree nH eight = scree nSizeheight / 2;in t height = this.getHeight();in t width = this.getWidth();setLocati on (scree nWidth - width / 2, scree nH eight - height / 2); setVisible(true);validate();addWi ndowListe ner( new Win dowAdapter() publicvoid windowClosing(WindowEvent e) dispose(););classMysql impleme nts Acti on Liste ner publicvoid acti on Performed(Acti on Eve nt ee) try Class.forName cat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论