JAVA课程设计45913_第1页
JAVA课程设计45913_第2页
JAVA课程设计45913_第3页
JAVA课程设计45913_第4页
JAVA课程设计45913_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、JAVA课程设计45913课程设计(论文)任务书学 院数学学院专 业信息与计算科学学生姓名王继禹学号 2课 程 设 计题目红河学院成绩查询内容及要求:1. 根据学号查询学生成绩;2. 可以按学年、学期查询。评语 年 月 日成绩:指导教师(签字):年 月 日指导、检查记录日期功 能完成情况评分目 录 1题目要求42系统设计42.1功能模块设计142.1.1功能说明:42.1.2必要知识点:52.2功能模块设计252.2.1系统逻辑结构设计52.2.2程序运行代码53运行结果分析214总结23参考文献241 题目要求红河学院成绩查询功能要求:1. 根据学号查询学生成绩;2. 可以按学年、学期查询。

2、2 系统设计描述为完成题目要求的系统设计,设计可以是按功能,或步骤分解,分解之后的内容要可检查,有相应的代码或文档说明这部分功能。重点介绍自己负责部分的功能设计,设计可以包括功能模块图、必要的UML图,2.1 功能模块设计12.1.1 功能说明: 1.创建主类MainFrame,下含4个类,对4个事件按钮添加监控,实现按钮事件为对应类的对象,出现相应功能窗口。2.创建添加类Insert,题目虽只要求查询学生成绩,但我们不可能再代码中添加学生成绩,故需创建添加按钮,对按钮添加监控,实现按钮事件为获取文本域中的信息。3.创建查询类QUERY,按照题目要求,分别创建学号,学年,学期三个查询按钮,此外

3、,为了便于查询,又创建姓名和课程两个查询按钮以及一个显示全部信息的按钮。4.创建修改类Modify,因存在添加类Insert,为了防止添加学生成绩信息时出现错误,故应当建立修改按钮,与添加数据类似,对按钮添加监控,实现按钮事件为获取文本域中的信息,不同的是以学号为主键进行查找并更新。5.创建删除类DELETE,同理,当学生成绩信息过多时进行删除,且使得窗口界面整洁合理。与修改数据类似,对按钮添加监控,实现按钮事件为获取文本域中的学号信息,不同的是以学号为主键进行查找并将删除信息输出到文本框中。2.1.2 必要知识点:1. 创建图形界面需运用到GUI语句,可参考课本355页的知识。2. 创建图形

4、界面以后需要创建相关按钮,每一个按钮对应一个相关功能类。3. 为每一个按钮添加监听。4. 大致完成以后,修改界面,使其整洁有序,并可以修改界面大小,按钮颜色。5. 添加与修改两个类需要连接到SQL2008数据库,在数据库中进行信息的添加与删除。2.2 功能模块设计22.2.1 系统逻辑结构设计学生成绩信息表字段名 属性类型空值约束条件学号Sno文本not null主键姓名name文本从键学年Year文本从简学期Semester文本从简语文Chinese长整数英语English长整数数学Maths长整数2.2.2 程序运行代码MainFrame类:package dazuoye;import j

5、avax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class MainFrame extends JFrame JButton insert, query, delete, modify;JPanel panel, panel1, panel2;public MainFrame() / TODO Auto-generated method stubImageIcon img = new ImageIcon(1.gif);JLabel text1, text2, picture = ne

6、w JLabel(img);JFrame frame = new JFrame(学生成绩查询管理系统);insert = new JButton(添加数据);insert.setBackground(Color.orange);insert.addActionListener(new insertActionPerformed();query = new JButton(查询数据);query.addActionListener(new queryActionPerformed();query.setBackground(Color.orange);modify = new JButton(修

7、改数据);modify.setBackground(Color.orange);modify.addActionListener(new modifyActionPerformed();delete = new JButton(删除数据);delete.setBackground(Color.orange);delete.addActionListener(new deleteActionPerformed();frame.setSize(360, 200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container conte

8、ntPane = frame.getContentPane();contentPane.setLayout(new BorderLayout();text1 = new JLabel(红河学院学生成绩管理系统, JLabel.CENTER);text1.setFont(new Font(宋体, Font.BOLD, 26);text1.setForeground(Color.blue);text2 = new JLabel( + );text2.setFont(new Font(TimesRoman, Font.ROMAN_BASELINE, 14);panel1 = new JPanel()

9、;panel1.add(insert);panel1.add(query);panel2 = new JPanel();panel2.add(modify);panel2.add(delete);panel1.setOpaque(false);panel2.setOpaque(false);panel = new JPanel();panel.add(text2, BorderLayout.NORTH);panel.add(panel1, BorderLayout.NORTH);panel.add(panel2, BorderLayout.SOUTH);panel.setOpaque(fals

10、e);contentPane.add(text1, BorderLayout.NORTH);contentPane.add(panel, BorderLayout.CENTER);frame.getLayeredPane().add(picture, new Integer(Integer.MIN_VALUE);Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int screenWidth = screenSize.width / 2;int screenHeight =

11、screenSize.height / 2;int height = this.getHeight();int width = this.getWidth();picture.setBounds(0, 0, 360, 360);(JPanel) contentPane).setOpaque(false);frame.setLocation(screenWidth - width / 2, screenHeight - height / 2);frame.setVisible(true);public class insertActionPerformed implements ActionLi

12、stener public void actionPerformed(ActionEvent e) new Insert().setVisible(true);public class modifyActionPerformed implements ActionListener public void actionPerformed(ActionEvent e) new Modify().setVisible(true);public class queryActionPerformed implements ActionListener public void actionPerforme

13、d(ActionEvent e) new Query().setVisible(true);public class deleteActionPerformed implements ActionListener public void actionPerformed(ActionEvent e) new Delete().setVisible(true);public static void main(String args) new MainFrame();Insert类:package dazuoye;import java.awt.*;import java.awt.event.*;i

14、mport javax.swing.*;import java.sql.*;public class Insert extends JFrame JTextField input1, input2, input3, input4, input5, input6,input7;JLabel label1, label2, label3, label4, label5;JButton button;static Statement st;static try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con = DriverMan

15、ager.getConnection(jdbc:odbc:student);st = con.createStatement(); catch (Exception e) ResultSet rs;public Insert() input1 = new JTextField(15);input2 = new JTextField(15);input3 = new JTextField(15);input4 = new JTextField(15);input5 = new JTextField(15);input6 = new JTextField(15);input7 = new JTex

16、tField(15);JPanel panel = new JPanel();panel.setLayout(new GridLayout(7,2);panel.add(new JLabel(学号), BorderLayout.CENTER);panel.add(input1);panel.add(new JLabel(姓名), BorderLayout.CENTER);panel.add(input2);panel.add(new JLabel(学年), BorderLayout.CENTER);panel.add(input3);panel.add(new JLabel(学期), Bord

17、erLayout.CENTER);panel.add(input4);panel.add(new JLabel(语文), BorderLayout.CENTER);panel.add(input5);panel.add(new JLabel(英语), BorderLayout.CENTER);panel.add(input6);panel.add(new JLabel(数学), BorderLayout.CENTER);panel.add(input7);button = new JButton(添加);button.addActionListener(new mysql();Containe

18、r container = getContentPane();container.add(panel, BorderLayout.CENTER);container.add(button, BorderLayout.SOUTH);setTitle(添加数据窗口);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(300,300);Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int screenWidth

19、= screenSize.width / 2;int screenHeight = screenSize.height / 2;int height = this.getHeight();int width = this.getWidth();setLocation(screenWidth - width / 2, screenHeight - height / 2);setVisible(true);class mysql implements ActionListener public void actionPerformed(ActionEvent e) try String sno =

20、 input1.getText().trim();String name = input2.getText().trim();String year = input3.getText().trim();String semester = input4.getText().trim();String chinese = input5.getText().trim();String english = input6.getText().trim();String maths = input7.getText().trim();if (sno.equals() | name.equals() | y

21、ear.equals() | semester.equals()| chinese.equals()| english.equals()| maths.equals() JOptionPane.showMessageDialog(Insert.this, 请重新输入, 提示对话框, 1); else String sql = insert into ScoreInfo(ID,name,year,semester,Chinese,English,Maths) values( + sno + ,+ name + , + year + , +semester+ ,+ chinese + , + en

22、glish + , + maths + );st.executeUpdate(sql);JOptionPane.showMessageDialog(Insert.this, 数据添加成功, 提示对话框, 1);input1.setText();input2.setText();input3.setText();input4.setText();input5.setText();input6.setText();input7.setText(); catch (Exception ee) QUERY类:package dazuoye;import java.awt.*;import javax.

23、swing.event.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Query extends JFrame JTextArea show;JButton button1, button2, button3, button4, button5,button6;JTextField field1, field2, field3,field4;JComboBox comoBox;static Statement st;static try Class.forName(sun.jdbc.o

24、dbc.JdbcOdbcDriver);Connection con = DriverManager.getConnection(jdbc:odbc:student);st = con.createStatement(); catch (Exception e) public Query() show = new JTextArea(6, 15);button1 = new JButton(显示所有信息);button1.addActionListener(new Mysql1();Container container = getContentPane();container.setLayo

25、ut(new BorderLayout();JPanel panel = new JPanel();JPanel mainpanel = new JPanel();button2 = new JButton(按学号查询);button2.addActionListener(new Mysql2();panel.add(button2);field1 = new JTextField(7);panel.add(field1);panel.setVisible(true);mainpanel.add(panel);button3 = new JButton(按姓名查询);button3.addAc

26、tionListener(new Mysql3();panel.add(button3);field2 = new JTextField(6);panel.add(field2);panel.setVisible(true);mainpanel.add(panel);button4 = new JButton(按学年查询);button4.addActionListener(new Mysql4();panel.add(button4);field3 = new JTextField(6);panel.add(field3);panel.setVisible(true);mainpanel.a

27、dd(panel);button5 = new JButton(按学期查询);button5.addActionListener(new Mysql4();panel.add(button5);field4 = new JTextField(6);panel.add(field4);panel.setVisible(true);mainpanel.add(panel);String items = 请选择, 语文, 英语, 数学 ;comoBox = new JComboBox(items);button6 = new JButton(按课程名称查询);button6.addActionLis

28、tener(new Mysql5();panel.add(button6);panel.add(comoBox);panel.setVisible(true);mainpanel.add(panel);panel = new JPanel();panel.add(button1);container.add(mainpanel, BorderLayout.NORTH);container.add(panel, BorderLayout.SOUTH);container.add(new JScrollPane(show), BorderLayout.CENTER);setTitle(查询数据);

29、setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(1000, 400);Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int screenWidth = screenSize.width / 2;int screenHeight = screenSize.height / 2;int height = this.getHeight();int width = this.getWidth();setLocat

30、ion(screenWidth - width / 2, screenHeight - height / 2);setVisible(true);class Mysql1 implements ActionListener public void actionPerformed(ActionEvent e) try String sql = select * from ScoreInfo;ResultSet rs = st.executeQuery(sql);show.setText();show.append(序号 学号 姓名 学年 学期 语文 英语 数学+ n);while (rs.nex

31、t() show.append(rs.getInt(1) + );show.append(rs.getString(2) + );show.append(rs.getString(3) + );show.append(rs.getString(4) + );show.append(rs.getInt(5) + );show.append(rs.getInt(6) + );show.append(rs.getInt(7) + );show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql2 implements ActionLi

32、stener public void actionPerformed(ActionEvent e) try String ss = field1.getText().trim();String sql = select * from ScoreInfo where ID= + ss + ;ResultSet rs = st.executeQuery(sql);show.setText();show.append(序号 学号 姓名 学年 学期 语文 英语 数学+ n);while (rs.next() show.append(rs.getInt(1) + );show.append(rs.get

33、String(2) + );show.append(rs.getString(3) + );show.append(rs.getString(4) + );show.append(rs.getInt(5) + );show.append(rs.getInt(6) + );show.append(rs.getInt(7) + );show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql3 implements ActionListener public void actionPerformed(ActionEvent e) t

34、ry String ss = field2.getText().trim();String sql = select * from ScoreInfo where name= + ss + ;ResultSet rs = st.executeQuery(sql);show.setText();show.append(序号 学号 姓名 学年 学期 语文 英语 数学+ n);while (rs.next() show.append(rs.getInt(1) + );show.append(rs.getString(2) + );show.append(rs.getString(3) + );sho

35、w.append(rs.getString(4) + );show.append(rs.getInt(5) + );show.append(rs.getInt(6) + );show.append(rs.getInt(7) + );show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql4 implements ActionListener public void actionPerformed(ActionEvent e) try String ss = field3.getText().trim();String sql

36、 = select * from ScoreInfo where class= + ss + ;ResultSet rs = st.executeQuery(sql);show.setText();show.append(序号 学号 姓名 学年 学期 语文 英语 数学+ n);while (rs.next() show.append(rs.getInt(1) + );show.append(rs.getString(2) + );show.append(rs.getString(3) + );show.append(rs.getString(4) + );show.append(rs.getI

37、nt(5) + );show.append(rs.getInt(6) + );show.append(rs.getInt(7) + );show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql5 implements ActionListener public void actionPerformed(ActionEvent e) try String ss = field3.getText().trim();String sql = select * from ScoreInfo where class= + ss + ;

38、ResultSet rs = st.executeQuery(sql);show.setText();show.append(序号 学号 姓名 学年 学期 语文 英语 数学+ n);while (rs.next() show.append(rs.getInt(1) + );show.append(rs.getString(2) + );show.append(rs.getString(3) + );show.append(rs.getString(4) + );show.append(rs.getInt(5) + );show.append(rs.getInt(6) + );show.appe

39、nd(rs.getInt(7) + );show.append(rs.getInt(8) + n); catch (Exception ee) class Mysql6 implements ActionListener public void actionPerformed(ActionEvent e) try String sql = ;String ss = comoBox.getSelectedItem().toString();if (ss.equals(语文) sql = select ID,name,year,semester,Chinese from ScoreInfo ;sh

40、ow.setText();show.append(序号 学号 姓名 学年 学期 语文+ n); else if (ss.equals(英语) sql = select ID,name,year,semester,English from ScoreInfo ;show.setText();show.append(序号 学号 姓名 学年 学期 英语 + n); else if (ss.equals(数学) sql = select ID,name,year,semester,Maths from ScoreInfo ;show.setText();show.append(序号 学号 姓名 学年

41、学期 数学+ n);ResultSet rs = st.executeQuery(sql);int i = 0;while (rs.next() i+;show.append( + i + + rs.getString(1) + );show.append(rs.getString(2) + );show.append(rs.getString(3) + );show.append(rs.getInt(4) + n); catch (Exception ee) Modify类:package dazuoye;import java.awt.*;import java.awt.event.*;i

42、mport javax.swing.*;import java.sql.*;public class Modify extends JFrame JTextField input1, input2, input3, input4, input5, input6,input7;JLabel label1, label2, label3, label4, label5;JButton button;static Statement st;static try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con = DriverMan

43、ager.getConnection(jdbc:odbc:student);st = con.createStatement(); catch (Exception e) ResultSet rs;public Modify() input1 = new JTextField(15);input2 = new JTextField(15);input3 = new JTextField(15);input4 = new JTextField(15);input5 = new JTextField(15);input6 = new JTextField(15);input7 = new JTex

44、tField(15);JPanel panel = new JPanel();panel.setLayout(new GridLayout(7, 3);panel.add(new JLabel(学号);panel.add(input1);panel.add(new JLabel(姓名);panel.add(input2);panel.add(new JLabel(学年);panel.add(input3);panel.add(new JLabel(学期);panel.add(input4);panel.add(new JLabel(语文);panel.add(input5);panel.add(new JLabel(英语);panel.add(input6);panel.add(new JLabel(数学);panel.add(input7);button = new JButton(修改);button.addActionListener(new mysql();Container container = getContentPane();container.add(panel, Bo

温馨提示

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

评论

0/150

提交评论