版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生学籍管理详细设计 学号:_ 姓名:_ 班级:_1、 设计题目:学生学籍管理二:设计内容: 设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除。三:设计要求: 进行简单的学生信息管理。四:总体设计 (1)登陆界面的设计 (2)主窗体的设计 (3)添加学生信息窗体 (4)查询学生信息窗体 (5)修改学生信息窗体 (6)删除学生信息窗体 (7)事件响应的处理五:具体设计(1) 程序结构的说明:A. 入口程序:student.java;B. 登陆界面程序:mainframe.java;C. 主窗体程序:interfac.java;D. 添加信息窗口程序:tj.
2、java;E. 修改信息窗口程序:xg.java;F. 查询信息窗口程序:cx.java;G. 删除信息窗口程序:sc.java;H. 程序数据连接:DatabaseConn.java;(2) 程序代码及分析说明A.程序源代码(已提交)B.Student.java是程序的入口。使登录窗口位于窗口中间,并且不可改变窗口大小。C.mainframe.java是程序的登陆窗体。输入用户名和密码(用户名和密码在数据库的password表中)点击“进入系统”,然后登陆界面消失;出现要操作的界面(屏幕左上角)。D.tj.java是添加信息界面。添加基本信息后,点击“添加信息”按钮,将信息加入xinxi表中
3、。E.xg.java是修改信息界面。输入要修改的学号或姓名(两者数其一或全部输入),并输入所有信息,点击“修改信息”按钮(如果数据库中不存在此学号,则弹出对话框“无此学生信息”),若有则修改。F.sc.java是删除信息界面。输入要删除的学生的学号,点击“删除信息”按钮,弹出确认删除对话框,即可删除该生信息。G.cx.java是查询信息界面。输入要查询的学生学号,点击“信息查询”按钮,在相应的文本区里显示查询的信息。H:源代码/student.java:程序的入口。初始化界面,使主界面位于屏幕中间,且用户不能改变大小/功能:完成程序的执行顺序import javax.swing.UIManag
4、er;import java.awt.*;import java.sql.*;/import screenpublic class studentboolean packFrame=false;/JFrame frame=new JFrame();public student()mainframe frame=new mainframe();if(packFrame)frame.pack();else frame.validate();Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();Dimension frame
5、Size=frame.getSize();if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;if(frameSize.width>screenSize.width)frameSize.width=screenSize.width;frame.setLocation(screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);frame.setVisible(true);public static
6、void main(String args)tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)e.printStackTrace();new student();/数据库连接/package sql.database;import java.sql.*;public class DatabaseConnprivate static String user=""private static String password=""pri
7、vate Connection conn=null;private Statement stmt=null;private ResultSet rs=null;static tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");/加载驱动 catch(ClassNotFoundException e)/创建数据库连接对象public Connection getConnection()tryconn=DriverManager.getConnection("jdbc:odbc:stu",user,passwor
8、d);return conn;catch(SQLException e)return null;public Statement createStat()tryconn=getConnection();stmt=conn.createStatement();return stmt;catch(SQLException e)return null;public ResultSet getRs(String sql) try conn=getConnection();/. stmt=createStat(); rs=stmt.executeQuery(sql); return rs; catch(
9、SQLException e) return null; public void close() try if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(conn!=null) conn.close(); catch(SQLException ex) ex.printStackTrace(); /mainframe.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class mainframe
10、extends JFrame implements ActionListenerstatic mainframe s;static JPanel pan=new JPanel();static JLabel label1 = new JLabel("用 户"); static JLabel label2 = new JLabel("密 码"); static JTextField textField1 = new JTextField(); static JPasswordField password = new JPasswordField(); st
11、atic JButton button1 = new JButton("进入系统"); static JRadioButton radioButton1=new JRadioButton("管理员",true);/“管理员”初始状态被选中 static JRadioButton radioButton2=new JRadioButton("学生"); static JRadioButton radioButton3=new JRadioButton("教师"); ButtonGroup buttonGroup=ne
12、w ButtonGroup(); public mainframe()JLabel label=new JLabel(new ImageIcon("图片44.jpg");label.setSize(400,400);pan.add(label);pan.setLayout(null);pan.setSize(400,400);this.setTitle("学籍管理系统");this.setSize(400,400);this.setLayout(null);label1.setBounds(100,25,49,20);textField1.setBoun
13、ds(155,24,120,20);label2.setBounds(100,62,49,20);password.setBounds(155,61,120,20);button1.setBounds(150,200,101,22); radioButton1.setBounds(105,120,80,20); radioButton2.setBounds(180,120,60,20);radioButton3.setBounds(240,120,60,20);button1.addActionListener(this);buttonGroup.add(radioButton1); butt
14、onGroup.add(radioButton2);buttonGroup.add(radioButton3);this.add(radioButton1);this.add(radioButton2);this.add(radioButton3);this.add(label1);this.add(label2);this.add(textField1);this.add(password);this.add(button1);this.add(pan);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(t
15、rue); public static void main(String args) new mainframe(); public void actionPerformed(ActionEvent e) if(radioButton1.isSelected()/管理员 if(textField1.getText().equals("syc") && password.getText().equals("123")interfac b=new interfac();this.dispose();/JOptionPane.showMessa
16、geDialog(null,"登陆成功");else if("".equals(textField1.getText() | "".equals(password.getText() )JOptionPane.showMessageDialog(null,"用户名或密码不能为空");else JOptionPane.showMessageDialog(null,"用户名或密码输入有误");if(radioButton2.isSelected()/学生 tryClass.forName("
17、;sun.jdbc.odbc.JdbcOdbcDriver");catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnection con = DriverManager.getConnection("jdbc:odbc:stu","sa","");Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("
18、select * from password where 用户名 = '"+textField1.getText()+"' and 密码 = '"+password.getText()+"'"); if(textField1.getText().equals("")|password.getText().equals("") JOptionPane.showMessageDialog(this,"用户名或密码不可为空!"); else if(rs.nex
19、t() new interfac(); else JOptionPane.showMessageDialog(this,"您的输入有误"); /stmt.close(); catch (SQLException se)JOptionPane.showMessageDialog(s,se.getMessage();/interface.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class interfac extends JFrame implements ActionL
20、istenerstatic JMenuBar jMenuBar = new JMenuBar();/菜单条 static JMenu jMenuFile = new JMenu("文件");/菜单项 static JMenu jMenuExit = new JMenu("退出"); static JMenuItem jMenuItem1 = new JMenuItem("添加信息");/菜单子项 static JMenuItem jMenuItem2 = new JMenuItem("修改信息"); static
21、JMenuItem jMenuItem3 = new JMenuItem("信息查询"); static JMenuItem jMenuItem4 = new JMenuItem("删除信息"); static JLabel label3 = new JLabel("请选择操作项"); static JLabel label4 = new JLabel("学籍管理系统"); static JButton button2 = new JButton("添加信息"); static JButton
22、button3 = new JButton("修改信息"); static JButton button4 = new JButton("信息查询"); static JButton button5 = new JButton("删除信息"); public interfac()this.setTitle("学籍管理系统");this.setLayout(null);this.setSize(400,400);label3.setBounds(158,92,98,33);label3.setFont(new Fon
23、t("Dialog",Font.PLAIN,15);label4.setFont(new Font("Dialog",Font.BOLD,20);label4.setBounds(157,37,280,40);button2.setBounds(74,136,97,33);button3.setBounds(226,136,97,33);button4.setBounds(74,185,97,33);button5.setBounds(226,185,97,33);this.add(button2);this.add(button3);this.add(
24、button4);this.add(button5);this.add(label3);this.add(label4);setJMenuBar(jMenuBar);jMenuFile.add(jMenuItem1);/”文件“菜单项中加入子菜单 jMenuFile.add(jMenuItem2); jMenuFile.add(jMenuItem3); jMenuFile.add(jMenuItem4); jMenuBar.add(jMenuFile);/将菜单项加入菜单条 jMenuBar.add(jMenuExit); button2.addActionListener(this);/本窗
25、口向按钮事件源注册 button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); jMenuItem1.addActionListener(this);/本窗口菜单子项注册 jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); jMenuExit.addActionListener(this); th
26、is.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);public static void main(String args)interfac a=new interfac(); public void actionPerformed(ActionEvent e) /按钮事件的处理 if(e.getSource()=jMenuExit) System.exit(0); else if(e.getSource()=jMenuItem1|e.getSource()=button2) try tj a=new
27、 tj(); catch(Exception ee) else if(e.getSource()=jMenuItem2|e.getSource()=button3) try xg a=new xg(); catch(Exception ed) else if(e.getSource()=jMenuItem3|e.getSource()=button4) try cx a=new cx(); catch(Exception ec) else if(e.getSource()=jMenuItem4|e.getSource()=button5) try sc a=new sc(); catch(Ex
28、ception es) /tj.java 添加界面import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class tj extends JFrame implements ActionListener static tj s; static JLabel label1 = new JLabel("学号:"); static JTextField textField1 = new JTextField(""); static JLab
29、el label2 = new JLabel("姓名:"); static JTextField textField2 = new JTextField(""); static JLabel label3 = new JLabel("性别:"); static JTextField textField7=new JTextField(""); static JLabel label4 = new JLabel("出生日期:"); static JTextField textField3 = ne
30、w JTextField(""); static JLabel label5 = new JLabel("政治面貌:"); static JTextField textField8=new JTextField(""); static JLabel label6 = new JLabel("籍贯"); static JTextField textField4 = new JTextField(""); static JLabel label7 = new JLabel("系别:&quo
31、t;); static JTextField textField9 = new JTextField(""); static JLabel label8 = new JLabel("专业:"); static JTextField textField5 = new JTextField(""); static JButton button1 = new JButton("增加"); public tj() this.setTitle("增加学生信息"); this.setLayout(null)
32、; this.setSize(400,400); label1.setBounds(30, 11, 51, 33); textField1.setBounds(86, 16, 74, 22); label2.setBounds(162, 11, 51, 33); textField2.setBounds(192, 16, 44, 22); label3.setBounds(241, 11, 70, 33); textField7.setBounds(275, 15, 50, 25); label4.setBounds(31, 53, 55, 33); textField3.setBounds(
33、86, 58, 74, 22); label5.setBounds(241, 53, 70, 33); textField8.setBounds(296, 57, 72, 25); label6.setBounds(163, 53, 26, 33); textField4.setBounds(191, 58, 44, 22); label7.setBounds(30, 94, 50, 33); textField9.setBounds(86,94,74,22); label8.setBounds(163, 94, 51, 33); textField5.setBounds(190, 99, 1
34、78, 22); button1.setBounds(25,241,80,33); button1.addActionListener(this); this.add(label1); this.add(label2); this.add(label3); this.add(label4); this.add(label5); this.add(label6); this.add(label7); this.add(label8); this.add(textField1); this.add(textField2); this.add(textField3); this.add(textFi
35、eld4); this.add(textField5); this.add(textField7); this.add(textField8); this.add(textField9); this.add(button1); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setVisible(true); public static void main(String args) throws Exception tj a=new tj(); a.setDefaultCloseOperation(JFrame.EXIT
36、_ON_CLOSE); public void actionPerformed(ActionEvent e)/事件处理程序 if (e.getSource() = button1) tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnection con = DriverManager.getConnection("jdbc:odbc:stu&q
37、uot;,"sa"," ");Statement stmt = con.createStatement(); ResultSet rs=stmt.executeQuery("select * from xinxi where 学号='"+textField1.getText()+"'"); if(rs.next() JOptionPane.showMessageDialog(null,"此学号已经被注册"); else stmt.execute("insert into
38、 xinxi (学号,姓名,性别,出生日期,政治面貌,籍贯,系别,专业) values ('"+ textField1.getText()+"','"+textField2.getText()+"','"+textField7.getText()+"','"+ textField3.getText()+"','"+textField8.getText()+"','"+textField4.getTe
39、xt()+"','"+ textField9.getText()+"','"+textField5.getText()+"')"); JOptionPane.showMessageDialog(null,"添加信息成功"); catch (SQLException se)JOptionPane.showMessageDialog(s,se.getMessage(); /xg.java 修改界面import javax.swing.*;import java.awt.*;imp
40、ort java.awt.event.*;import java.sql.*;public class xg extends JFrame implements ActionListener static xg s; static JLabel label1 = new JLabel("学号:"); static JTextField textField1 = new JTextField(""); static JLabel label2 = new JLabel("姓名:"); static JTextField textFiel
41、d2 = new JTextField(""); static JLabel label3 = new JLabel("性别:"); static JTextField textField7=new JTextField(""); static JLabel label4 = new JLabel("出生日期:"); static JTextField textField3 = new JTextField(""); static JLabel label5 = new JLabel("
42、;政治面貌:"); static JTextField textField8=new JTextField(""); static JLabel label6 = new JLabel("籍贯"); static JTextField textField4 = new JTextField(""); static JLabel label7 = new JLabel("系别:"); static JTextField textField9 = new JTextField(""); s
43、tatic JLabel label8 = new JLabel("专业:"); static JTextField textField5 = new JTextField(""); static JButton button2=new JButton("修改"); public xg() this.setTitle("修改学生信息"); this.setLayout(null); this.setSize(400,400); label1.setBounds(30, 11, 51, 33); textField1
44、.setBounds(86, 16, 74, 22); label2.setBounds(162, 11, 51, 33); textField2.setBounds(192, 16, 44, 22); label3.setBounds(241, 11, 70, 33); textField7.setBounds(275, 15, 50, 25); label4.setBounds(31, 53, 55, 33); textField3.setBounds(86, 58, 74, 22); label5.setBounds(241, 53, 70, 33); textField8.setBou
45、nds(296, 57, 72, 25); label6.setBounds(163, 53, 26, 33); textField4.setBounds(191, 58, 44, 22); label7.setBounds(30, 94, 50, 33); textField9.setBounds(86,94,74,22); label8.setBounds(163, 94, 51, 33); textField5.setBounds(190, 99, 178, 22); button2.setBounds(115,241,80,33); button2.addActionListener(
46、this); this.add(label1); this.add(label2); this.add(label3); this.add(label4); this.add(label5); this.add(label6); this.add(label7); this.add(label8); this.add(textField1); this.add(textField2); this.add(textField3); this.add(textField4); this.add(textField5); this.add(textField7); this.add(textFiel
47、d8); this.add(textField9); this.add(button2); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setVisible(true); public static void main(String args) throws Exception xg a=new xg(); a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void actionPerformed(ActionEvent e)/事件处理程序 if(e.g
48、etSource()=button2) tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnection con = DriverManager.getConnection("jdbc:odbc:stu","sa","");Statement stmt = con.createStatement(
49、); ResultSet rs=stmt.executeQuery("select * from xinxi where 学号='"+textField1.getText()+"'"); if(textField1.getText().trim().equals("") JOptionPane.showMessageDialog(this,"学号不可为空!"); else if(rs.next() String updateSql="update xinxi set 学号='&qu
50、ot;+textField1.getText()+"', 姓名='"+ textField2.getText()+"',性别='"+textField7.getText()+"',出生日期='"+ textField3.getText()+"',政治面貌='"+textField8.getText()+"',籍贯='"+ textField4.getText()+"',系别='"+
51、textField9.getText()+"',专业='"+ textField5.getText()+ "'" try stmt.executeQuery(updateSql); catch(SQLException se) JOptionPane.showMessageDialog(null,"修改成功"); catch(SQLException se) JOptionPane.showMessageDialog(s,se.getMessage(); /sc.java 删除界面import javax.swing.*;import java.awt.*;import java.a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年“重庆人力”所属企业飞驶特公司招聘:派往中新互联互通投资基金管理有限公司备考题库及1套参考答案详解
- 2026年云南石屏县紧密型医共体龙武分院(龙武镇卫生院)招聘乡村医生的备考题库及一套答案详解
- 医疗损害赔偿与紧急避险免责
- 医疗损害赔偿与医疗美容纠纷处理
- 医疗技术创新项目的绩效评价
- 医疗托管中医疗纠纷的执行回转法律程序条件细化
- 医疗托管中医疗合作中的知识产权许可终止
- 医疗安全不良事件与绩效考核挂钩机制
- 医疗利益冲突管理政策的国际比较与本土化
- 医患沟通在慢性病管理中的核心作用
- 酒吧消防安培训
- 养老院消防培训方案2025年课件
- Smaart7产品使用说明手册
- 包装班组年终总结
- 瓷砖工程验收课程
- 2025 小学二年级数学上册乘法口诀对口令练习课件
- 专升本旅游管理专业2025年旅游学概论试卷(含答案)
- 难治性癌痛护理
- 苏教版五年级上册复习教案(2025-2026学年)
- DB15∕T 2431-2021 荒漠藻扩繁培养技术规程
- 危险化学品经营企业安全生产费用提取
评论
0/150
提交评论