基于Java及SQL数据库技术的学生成绩管理系统方案_第1页
基于Java及SQL数据库技术的学生成绩管理系统方案_第2页
基于Java及SQL数据库技术的学生成绩管理系统方案_第3页
基于Java及SQL数据库技术的学生成绩管理系统方案_第4页
基于Java及SQL数据库技术的学生成绩管理系统方案_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、目录 设计总说明 II 1. 课程设计目的与需求分析 3 1.1 课程设计目的 3 1.2 需求分析 3 2. 设计思路与主功能设计 4 2.1 设计思路 4 2.1.1 开发环境和软件 4 2.1.2 数据库表结构 4 2.1.3 程序设计图 4 2.2 功能设计与介绍 5 3. 具体功能的介绍和数据测试 5 3.1 登录界面 5 3.2 主功能界面 7 3.2.1 查询 7 3.2.2 添加 9 3.2.3 修改 10 3.2.4 删除 12 3.2.5 关于 13 3.2.6 退出 13 4. 课程设计总结 14 5. 附录(程度代码 ) 15 设计总说明 1. 设计概况 名称:学生学籍

2、管理系统 用途:学校等机构 功能:实现对学生学籍信息的管理与维护等功能 2. 设计说明 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护, 使用 方便,易用性 强, 图形界面清晰 明了。该 软件 用 java 语言编写, 用 SQLServer2005 数据库作为后台的数据库进行信息的存储, 用 SQL 语句完成添加, 查询,修改,删除的操作。用 ODBC 驱动实现前台 Java 与后台 SQL 数据库的连 接。 Java 语言跨平台性强,可以在 windows ,linux ,ubuntu 等系统下使用,方 便简单,安全性好。 SQLServer2005 数据库高效安全,两

3、者结合可相互利用各自 的优势。系统可供输入的属性有“学号” ,“姓名”,“性别”,“班级”,“学院”,“籍 贯”。 该系统实现的大致功能: 1 管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后 方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生 信息。 2 查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息” 。也可 以选择按照“某一个学号查询该学号的学生信息” 。查询到的信息会在窗口中依 次显示出来。 3 添加学生信息。 可以按照图形的界面的显示依次输入新学生的 “学号”,“姓名”, “性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加

4、。 4 修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并 输入要修改的属性,并输入新的数据。完成对学生记录的修改。 5 删除学生记录。可以根据输入的“学号”或者”姓名”进行删除的操作。 3 本系统只实现了基本操作功能, ,对于添加管理员,修改登录密码和数据库信息备份 等功能并未提供,便利性和安全性仍有不足,使用过程中造成的不便还请谅解! 学生学籍管理系统 信管 1081 班, 200811622124 ,吴晓阳 信管 1081 班, 200811622104 ,陈秀丽 指导教师:陈亮 1 课程设计目的与需求分析 1.1 课程设计目的 本课程设计作为 Java 语言高级程序设

5、计课程的延伸,在学生完成了 Java 语言高级程序设计课程的理论知识学习后,希望通过本次课程设计的实践操作,能够 让学生懂得 Java 的各种相关知识的使用,真正的提高学生独立开发设计 Java 程序, 把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进 1.2 需求分析 在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信 息的难度也越来越大。而且效率也是很低的。所以如何自动高效地管理信息是这些年来 许多人所研究的。 随着这些年电脑计算机的速度质的提高,成本的下降, IT 互联网大众趋势的发展 我们使用电脑的高效率才处理数据信息成为可能 学生学籍管

6、理系统的出现,正是管 理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的 图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。 学生学籍管理系统, 以 SQL 数据库作为后台信息存储, Java 作为前台系统的语言 提供了对学生信息添加,查询,修改,删除的功能。实现了最基本的信息管理。 2 设计思路与主功能设计 2.1 设计思路 2.1.1 开发环境和软件 本学籍采用 Java 语言编写前台程序,后台采用 SQL Server2005 软件管理数据 库,调试和运行皆由 Eclipse SDK 3.5.2 完成。 2.1.2 SQL 数据库表结构 2.1.3

7、 程序设计图 2.2 功能设计与介绍 1) 显示已有学生信息 2) 添加新的学生信息 3) 修改已有学生信息 4) 删除已有学生信息 5) 关于学籍管理系统 6) 退出学籍管理系统 3 具体功能的介绍和数据测试 3.1 登录界面 登录界面输入“管理员号”和“登录密码” ,点击“确定”,通过验证则进入主功能菜 单。如果输入错误则会有相应的警告 1.当输入了一个未存在的管理员号时,会出现下图! 当前系统有两个管理员账号: 2当输入一个错误的密码时,会出现下图! 123456 123456 管理员号: 200811622124密码: 管理员号: 200811622104密码: 3.2 主功能界面 3

8、.2.1 查询 点击 , 则弹出下面的选择菜单 1 ) 选择“显示所有学生记录”时,在控制台会显示当前系统中所有的学生记录 2 ) 选择“查询某个学生记录”时,会弹出一下窗口要求用户输入“学号” 当系统中有要查询的学号记录时,系统会显示查询到的详细信息 如果没有查询到,则显示: 3.2.2 添加 点击 ,会弹出输入框,如下图: 在各个数据框中输入对应的信息 (学号不能为空, 且学号不能与已存在的记录重复) 如果输入的新纪录的学号已经存在则: 如果添加的新纪录学号为空,则 如果输入的各项数据正常时,则点击“添加”按钮后, 学生记录添加成功! 3.2.3 修改 点击 ,进行“修改”的操作,弹出下面

9、的选择菜单。 1)选择按“学号”修改: 将相应的数据填入输入框中,如果修改的记录不存在,则提示: 如果数据正确且记录存在,则显示记录修改成功: 2 ) 按“姓名”修改,同上 3.2.4 删除 点击 ,会显示下面的菜单 1 )选择按“学号”删除,出现以下窗口 在弹出的窗口输入你要删除的记录的学号 如果要删除的记录不存在,则显示 如果输入的的学号存在,则删除成功。 3.2.5 关于 点击 ,显示本学生管理系统的作者相关信息。 3.2.6 退出 点击 ,退出本学籍管理系统 4 课程设计总结 课程设计是培养学生综合运用所学知识,发现,提出 ,分析和解决实际问题 ,锻炼实践能力的重要 环节 ,是对学生实

10、际工作能力的具体训练和考察过程 . 本次课程设计虽然很辛苦,实在是受益匪浅。 本来这门课的知识学的就不够扎实, 本次课程设计,在设计过程中碰到了很多问题, 刚开始要设计 的时候,还真不知道从哪里下手 但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好 多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习 的效果, 但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效 的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不 够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 通过这次课

11、程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只 有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己 的实际动手能力和独立思考的能力。 附 录(程序代码) import javax.swing.*; import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.

12、sql.*; class DataBase / DataBase 类 public void Add(String xh,String xm,String xb,String xy,String bj,String jg) throws SQLException try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCRO

13、LL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 学 籍 管 理 系 统 where 学 号 =+xh+); r.last(); null , 该学号的学生信息已存在 if(r.getRow()=1) JOptionPane.showMessageDialog( ); if(xh.equals() 学号不能为空 ); else JOptionPane.showMessageDialog( null , else s.executeUpdate( insert into 学 籍

14、管 理 系 统values (+xh+,+xm+,+xb+,+ xy+,+bj+,+jg+); s.close(); c.close(); JOptionPane.showMessageDialog( null ,+ 学 号:+xh+ +姓名:+xm+ +性别:+xb+ +学院:+xy+ +班级:+bj+ +籍贯:+jg+ 学生记录添加成功! ) ; catch(Exception e) JOptionPane.showMessageDialog( null , 数据添加异常! ) ; Public void DisplayAll(ResultSet r) try r.last(); Syst

15、em.out.println( 数 据 库 表 共 有 +r.getRow()+ 行 记 录 ); r.beforeFirst(); while(r.next() System.out.print( 第+r.getRow()+ 行记录 :); System.out.print( 学号为: +r.getString( 学号 ); System.out.print( 姓名为: +r.getString( 姓名 ); System.out.print( 性别为: +r.getString( 性别 ); System.out.print( 学院为: +r.getString( 学院); System.

16、out.print( 班级为: +r.getString( 班级 ); System.out.println( 籍贯为: +r.getString( 籍贯); catch(Exception e) public void DisplayOne(String str22) throws Exception try Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.

17、CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 学 籍 管 理 系 统 where 学号 =+str22+); r.last(); int cc=r.getRow(); if(cc=0) JOptionPane.showMessageDialog( null , 未查询到相关信息! ) ; elser.beforeFirst(); while(r.nex JOptionPane.showMessageDialog( null ,+学号 :+r.getString (学号)+ +姓名 :+r.getString( 姓名)+

18、+性别 :+r.getString( 性别)+ +学院 :+r.getString( 学院)+ +班级 :+r.getString( 班级)+ + 籍贯 :+r.getString( 籍贯 )+ 已查询到相关记录! catch(Exception e) public void DeleteXh(String str11) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.create

19、Statement( ResultSet.TYPE_SCROLL_SENSITIVE, from 学 籍 管 理 系 统 学号=+str11+); 学生记录删除成功! ) ; ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select where 学号 =+str11+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 学籍管理系统 where JOptionPane.showMessageDialog( null , else JOptionPane.showMe

20、ssageDialog( null , 学籍系统中并无相关记录! ); catch(Exception e) public void DeleteXm(String str13) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

21、 ResultSet r=s.executeQuery(select * from 学 籍 管 理 系 统 where 姓名 =+str13+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 学籍管理系统 where 姓名 =+str13+); JOptionPane.showMessageDialog( null , 学生记录删除成功! ) ; else JOptionPane.showMessageDialog( null , 学籍系统中并无相关记录! ) ; catch(Exception e) public void U

22、pdateXh(String xg,String str15,String str16) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from学籍管理

23、系统 where 学号 =+xg+); r.last(); if(r.getRow()=1) set +str15+=+str16+ s.executeUpdate(update 学籍管理系统 where 学号 =+xg+); JOptionPane.showMessageDialog( null , 学生记录修改成功! ) ; else JOptionPane.showMessageDialog( null , 学籍系统中并无相关记录! ) ; ; catch(Exception e) JOptionPane.showMessageDialog( null , 学籍系统中并无相关记录! )

24、; public void UpdateXm(String str18,String str19,String str20) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery

25、(select * from 学籍管理系统where 姓名 =+str18+); r.last(); if(r.getRow()=1) s.executeUpdate(update 学籍管理系统 set +str19+=+str20+ where 姓名 =+str18+); / 直接执行 SQL 语句修改 JOptionPane.showMessageDialog( null , 学生记录修改成功! ) ; else JOptionPane.showMessageDialog( null , 学籍系统中并无相关记录! ) ; ; catch(Exception e) JOptionPane.s

26、howMessageDialog( null , 学 籍 系 统 中 并 无 相 关 记 录 ! class J_ActionListener1 extends JFrame implements ActionListener / 创建 J_ActionListener1 类监听功能选项面板 显示已有学生信息 的按钮 public void actionPerformed(ActionEvent e) JButton b1=(JButton)e.getSource(); Object aa= JOptionPane.showInputDialog(null, 请选择按何种方式查询 , 选 显示

27、所有学生记录 择, JOptionPane.QUESTION_MESSAGE,null, new String 查询某个学生记录 , 显示所有学生记录 ); if(aa= 显示所有学生记录 ) try Connection c = DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select *

28、 from 学籍管理系统 ); DataBase a =new DataBase(); a. DisplayAll(r); catch (SQLException e1) else try Connection c= DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); DataBase a=new DataBase(); String str11=JO

29、ptionPane.showInputDialog( 请输入要查询的记录的学 号);a.DisplayOne(str11); catch (Exception e1) implements class J_ActionListener2 extends JFrame ActionListener Public void actionPerformed(ActionEvent e) JButton b2=(JButton)e.getSource(); try new J_ActionListener6(); catch (Exception e2) J_ActionListener2 imple

30、ments Class J_ActionListener6 extends ActionListener DataBase a = new DataBase(); JTextField jtf1 = new JTextField(); JTextField jtf2 = new JTextField() ; JTextField jtf3 = new JTextField() ; JTextField jtf4 = new JTextField() ; JTextField jtf5 = new JTextField() ; JTextField jtf6 = new JTextField()

31、 ; JButton btn = null ; / 创建框架的标题 / 框架的大小和坐 / 创建学号 的标签 J_ActionListener6() this.setTitle( 请输入数据 :) ; this.setBounds(250, 100, 220,320) 标 this.setResizable(false); this.setVisible(true); this.setLayout(null) ; JLabel jlb1 = new JLabel( 学号:) ; jlb1.setBounds(43,23,100,25) ; this.add(jlb1) ; JLabel jlb

32、2 = new JLabel( 姓名: jlb2.setBounds(43,58,100,25) ; this.add(jlb2) ; JLabel jlb3 = new JLabel( 性别:) ; jlb3.setBounds(43,93,100,25) ; this.add(jlb3) ; JLabel jlb4 = new JLabel(学院: ) ; jlb4.setBounds(43,128,100,25) ;this.add(jlb4) ; JLabel jlb5 = new JLabel(班级: ) ; jlb5.setBounds(43,163,100,25) ; this.

33、add(jlb5) ; JLabel jlb6 = new JLabel(籍贯:) ; jlb6.setBounds(43,198,100,25) ; this.add(jlb6) ; jtf1.setBounds(80,25,100,25) ; this.add(jtf1) ; jtf2.setBounds(80,60,100,25) ; this.add(jtf2) ; jtf3.setBounds(80,95,100,25) ; this.add(jtf3) ; jtf4.setBounds(80,130,100,25) ; this.add(jtf4) ; jtf5.setBounds

34、(80,165,100,25) ; this.add(jtf5) ; jtf6.setBounds(80,200,100,25) ; this.add(jtf6) ; / 设置按钮的大小和位 btn = new JButton( 添加 ) ; btn.setBounds(68,245,80,30) ; this.add(btn) ; / 将按钮添加进面板里 btn.addActionListener(this) ; (JComponent) this.getContentPane().setOpaque(false); .URL url = JavaSql.class.getResource(

35、背景 1.jpg); ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight(); public void actionPerformed(ActionEvent e) JButton btn=(JButton)e.getSource(); St

36、ring xh = jtf1.getText() ; String xm = jtf2.getText() ; String xb = jtf3.getText() ; String xy = jtf4.getText() ; String bj = jtf5.getText() ; String jg = jtf6.getText() ; try a.Add(xh,xm,xb,xy,bj,jg); this.setVisible(false); catch (SQLException e1) class J_ActionListener3 extends JFrame implements

37、ActionListener / 创建 J_ActionListener3 监听功能面板”修改已有学生信息“的按钮 final DataBase a=new DataBase(); JFrame xiugai=new JFrame(); String b=null; public void jiemian() / 在 J_ActionListener3 类里添加 jiemian() 方法,创建按学号修改数据的界面 this.setTitle( 请输入数据 :) ; this.setSize(230,320) ; this.setLocation(200,130); this.setResiza

38、ble(false); this.setVisible(true); JLabel jlb1 = new JLabel( 请 输 入 要 修 改 的 学 生 的 +b) / 设置 3 个标签 JLabel jlb2 = new JLabel( 请输入要修改的属性 ) ; JLabel jlb3 = new JLabel( 请输入新的数据 ) ; final JTextField jtf1 new JTextField() / 设置三个文本框 final JTextField jtf2 = new JTextField() ; final JTextField jtf3 = new JTextF

39、ield() ; JButton xg=new JButton(修改 );/ 创 建”修改“按钮 Container c=getContentPane(); c.setLayout(null); jlb1.setBounds(20,15,170,30); c.add(jlb1); jlb2.setBounds(20,80,170,30); c.add(jlb2); jlb3.setBounds(20,145,170,30); c.add(jlb3); jtf1.setBounds(20,45,170,30); c.add(jtf1); jtf2.setBounds(20,110,170,30)

40、; c.add(jtf2); jtf3.setBounds(20,180,170,30); c.add(jtf3); xg.setBounds(80,230,60,35); c.add(xg); ActionListener() xg.addActionListener(new / 为”修改“按钮添加事件触发 public void actionPerformed( ActionEvent e) / 当修改的按钮被点击时执行 JButton xg=(JButton)e.getSource(); String xuehao=jtf1.getText(); / 获 取文本框的数据 String s

41、huxin=jtf2.getText(); String xinshuju=jtf3.getText(); a.UpdateXh(xuehao,shuxin,xinshuju); setVisible(false); ); (JComponent) this.getContentPane().setOpaque(false); / 设置背景图片 .URL url = JavaSql.class.getResource( 背景 2.jpg); ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); this

42、.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE); background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight(); public void jiemian2() / 在 J_ActionListener3 类里添加 jiemian2() 方法,创建按姓名修改数据的界面 this.setTitle( 请输入数据 :) ; this.setSize(230,320) ; this.setLocation(200,130); this.setResi

43、zable(false); this.setVisible(true); JLabel jlb1 = new JLabel( 请 输 入 要 修 改 的 学 生 的 +b) ; / 设置 3 个标签 JLabel jlb2 = new JLabel( 请输入要修改的属性 ) ; JLabel jlb3 = new JLabel( 请输入新的数据 ) ; final JTextField jtf1 = new JTextField() ; / 设置三个文本框 final JTextField jtf2 = new JTextField() ; final JTextField jtf3 = ne

44、w JTextField() ; JButton xg=new JButton( 修改 ); / 创 建”修改“按钮 Container c=getContentPane(); c.setLayout(null); jlb1.setBounds(20,15,170,30); c.add(jlb1); jlb2.setBounds(20,80,170,30); c.add(jlb2); jlb3.setBounds(20,145,170,30); c.add(jlb3); jtf1.setBounds(20,45,170,30); c.add(jtf1); jtf2.setBounds(20,1

45、10,170,30); c.add(jtf2); jtf3.setBounds(20,180,170,30); c.add(jtf3); xg.setBounds(80,230,60,35); c.add(xg); xg.addActionListener(new / 为”修改“按钮添加事件触发 public void actionPerformed( / 当修改的按钮被点击时执行 JButton xg=(JButton)e.getSource(); String xinming=jtf1.getText(); ActionListener() ActionEvent e) / 获取文本框的数

46、据 String shuxin=jtf2.getText(); String xinshuju=jtf3.getText(); a.UpdateXm(xinming,shuxin,xinshuju); setVisible(false); ); (JComponent) this.getContentPane().setOpaque(false); / 设置背景图片 .URL url = JavaSql.class.getResource( 背景 2.jpg); ImageIcon img = new ImageIcon(url); JLabel background = new JLabel

47、(img); this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE); background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight(); public void actionPerformed(ActionEvent e) JButton b3=(JButton)e.getSource(); / 当主功能选项面板的”修改已有学生信息“的按钮被点击时执行 Object aa= JOptionPane.showInputDialog(null,请选

48、择按何种 方式修改 ,选择,/ 弹出窗口让用户选择按何种方式进行修改 JOptionPane.QUESTION_MESSAGE,null, new String 学号 姓名,学号); if(aa= 学号 ) 行 b=学号; this.jiemian(); / 当用户选择按”学号“修改时执 if(aa= 姓名 ) 改时执行 b=姓名; this.jiemian2(); / 当用户选择按”姓名“修 class J_ActionListener4 implements ActionListener / 创建 J_ActionListener2 类监听功能选项 面板 添加新的学生信息 的按钮 publ

49、ic void actionPerformed(ActionEvent e) / 实 例 化 JButton b4=(JButton)e.getSource(); DataBase a=new DataBase(); DataBase 类 Object aa= JOptionPane.showInputDialog(null, 请选择按 何种方式删除 ,选择 ,JOptionPane.QUESTION_MESSAGE,/ 弹出窗口让用 户选择按何种方式进行删除 null,new String 学 号, 姓名,学号); 请输 if(aa= 学号 ) String str11=JOptionPan

50、e.showInputDialog( 入要删除的记录的学号 ); / 当用户选择按”学号“删除时执行 / 执行 DataBase 类 请输入要删除的记录的姓名 ); / 当用户选择按”姓名“修改时执行 a.DeleteXh(str11); 的 DeleteXh 方法 else String str13=JOptionPane.showInputDialog( / 执 行 / a.DeleteXm(str13); DataBase 类的 DeleteXm 方法 class J_ActionListener5 implements ActionListener 创建 J_ActionListene

51、r2 类监听功能选项面板 关于学籍管理系统 的按钮 public void actionPerformed(ActionEvent e) 钮被点击执行 JButton b5=(JButton)e.getSource(); / 按 本系统由 吴晓阳 陈秀丽 制作 *n* 日期: 2010 年 12 * ) ; JOptionPane.showMessageDialog( null ,* class ActionListener JavaSql extends / 主类 JavaSql JFrame implements / 添加设置用户名和密码输 入的图形界面 JFrame denglu=new

52、 JFrame( 登录 ); / 创建” 登录“的框架 JButton quedin = new JButton(确定 ); / 创建”确定 按钮 / 创建标签” JLabel t1=new JLabel( 管理员号: ); 管理员号“ JTextField t2=new JTextField(null,15); 号的输入栏 JLabel t3=new JLabel( 登录密码: ); 登录密码 JTextField t4=new JPasswordField(null,15); 录密码的输入栏 / 创建管理员 / 创建标签 / 创建登 public void init() / 在数据 库中创

53、建一张”学籍管理系统“表 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement(); s.executeUpdate( create table 学籍管理系统 ( + 学号 char(15) CONSTRAINT authIndex PRIMARY KEY,+ 姓名 char(10),+ 性别 char(4),+ 学院 char(8),+ 班级 char(

54、8),+ 籍贯 char(5); s.close(); c.close(); System.out.println(* 欢迎使用学籍管理系统 *); / 该表已存在 catch(Exception e) System.out.println(* 欢 迎 使 用 学 籍 管 理 系 统 *); public void zhujiemian() / 定义 jiemian() 的方 法,创建主功能的图形界面 Container c=getContentPane(); / 设置主功能界面的按 钮的大小和坐标位置 c.setLayout(null); JButton b1=new JButton(显示已

55、有学生信息 ); b1.setBounds(10,10,160,30); JButton b2=new JButton( 添加新的学生信息 ); b2.setBounds(10,45,160,30); JButton b3=new JButton( 修改已有学生信息 ); b3.setBounds(10,80,160,30); JButton b4=new JButton( 删除已有学生信息 ); b4.setBounds(10,115,160,30); JButton b5=new JButton( 关于学籍管理系统 ); b5.setBounds(10,150,160,30); JButt

56、on b6=new JButton( 退出学籍管理系统 ); b6.setBounds(10,185,163,30); J_ActionListener1 a1=new J_ActionListener1(); / 实例 化各个按钮监听的类 J_ActionListener2 a2=new J_ActionListener2(); J_ActionListener3 a3=new J_ActionListener3(); J_ActionListener4 a4=new J_ActionListener4(); J_ActionListener5 a5=new J_ActionListener

57、5(); b1.addActionListener(a1); b2.addActionListener(a2); b3.addActionListener(a3); b4.addActionListener(a4); b5.addActionListener(a5); b6.addActionListener(new ActionListener() / 为” 退出学籍管理系统“的按钮添加事件监听触发 public void actionPerformed(final ActionEvent e) System.exit(0); / 该按钮点击时,退 出学籍管理系统 ); c.add(b1); / 将按钮逐个添加到面板 里 c.add(b2); c.add(b3); c.add(b4); c.add(b5); c.add(b6); publicvoid denglumenu() deng

温馨提示

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

评论

0/150

提交评论