JAVA课程设计学生信息管理系统代码(共19页)_第1页
JAVA课程设计学生信息管理系统代码(共19页)_第2页
JAVA课程设计学生信息管理系统代码(共19页)_第3页
JAVA课程设计学生信息管理系统代码(共19页)_第4页
JAVA课程设计学生信息管理系统代码(共19页)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上/* * To change this template, choose Tools | Templates * and open the template in the editor. */package studentinfo;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.border.*;import javax.swing.

2、JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;/网格式布局/导入javar需要的jar包public class StudentInfo public StudentInfo()/构造方法 public static void main(String args) /

3、TODO code application logic here loginFrame lf=new loginFrame();/加载窗体 lf.setVisible(true);/设置窗体可见 lf.addWindowListener(new WindowAdapter()/添加窗口监听以接受关闭事件 public void windowClosing(WindowEvent e) System.exit(0); ); /学生成绩管理系统界面class mainFrame extends JFrame implements ActionListenerMenuBar myMenuBar=ne

4、w MenuBar();/菜单Menu myMenuFile,myMenuEdit,myMenuUser,myMenuAbout;MenuItem miNew,miOpen,miSave,miSaveAs,miExit;MenuItem miAdd,miEdit,miDel,miFind,miShow,miUser,miAbout;public JTable table = new JTable();/表格public DefaultTableModel mm ;/表格模型public mainFrame()myMenuFile=new Menu("文件");miNew=n

5、ew MenuItem("新建");miOpen=new MenuItem("打开");miSave=new MenuItem("保存");miExit=new MenuItem("退出");/miNew.enable(false);/miOpen.enable(false);/miSave.enable(false);/myMenuFile.add(miNew);/myMenuFile.add(miOpen);/myMenuFile.add(miSave);myMenuFile.add(miExit);myMen

6、uEdit=new Menu("数据编辑");miFind=new MenuItem("查找数据");miAdd=new MenuItem("添加数据");miEdit=new MenuItem("修改数据");miDel=new MenuItem("删除数据");miShow=new MenuItem("全部显示");myMenuEdit.add(miFind);myMenuEdit.add(miAdd);myMenuEdit.add(miEdit);myMenuEdit.

7、add(miDel);myMenuEdit.add(miShow);myMenuUser=new Menu("用户管理");miUser=new MenuItem("编辑用户");myMenuUser.add(miUser);myMenuAbout=new Menu("关于我");miAbout=new MenuItem("我的信息");myMenuAbout.add(miAbout);myMenuBar.add(myMenuFile);myMenuBar.add(myMenuEdit);myMenuBar.add

8、(myMenuUser);myMenuBar.add(myMenuAbout);String col = "学号","姓名","性别","班级","专业","大学语文","大学英语","高等数学"/创建属性列名mm= new DefaultTableModel(col,0);table.setModel(mm);JScrollPane tableScrollPane = new JScrollPane(table);/设置滚动条this

9、.setMenuBar(myMenuBar);this.add(tableScrollPane);miExit.addActionListener(this);/为各按钮注册事件监听器对象miFind.addActionListener(this);miAdd.addActionListener(this);miEdit.addActionListener(this);miDel.addActionListener(this);miShow.addActionListener(this);miUser.addActionListener(this);miAbout.addActionListe

10、ner(this);public void freshTable(String sql)myConnection conn=new myConnection();/获得数据库连接ResultSet rs;/保存查询返回结果对象rs=conn.getResult(sql);if (rs!=null)trymm.setRowCount(0);table.setModel(mm);while(rs.next() String 学号 = rs.getString("学号"); String 姓名 = rs.getString("姓名"); String 性别 =

11、 rs.getString("性别"); String 班级 = rs.getString("班级"); String 专业 = rs.getString("专业"); String 大学语文 = rs.getString("大学语文"); String 大学英语 = rs.getString("大学英语"); String 高等数学 = rs.getString("高等数学"); String cloumns =学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;

12、mm.addRow(cloumns); /table.clearSelection(); table.setModel(mm);catch(Exception e)System.out.println(e.toString();/捕获异常public void actionPerformed(ActionEvent e)/重载动作事件接口中的方法/退出if (e.getSource()=miExit)System.exit(0);/查找else if(e.getSource()=miFind)findFrame ff=new findFrame(this);ff.setVisible(true

13、);/添加else if(e.getSource()=miAdd)addFrame af=new addFrame(this);af.setVisible(true);/修改else if(e.getSource()=miEdit)if (table.getSelectedRow()=-1)JOptionPane.showMessageDialog(null, "请选择你要修改的内容", "温馨提示", JOptionPane.INFORMATION_MESSAGE);/弹窗提示elseeditFrame ef=new editFrame(this);e

14、f.学号.setText(String)table.getValueAt(table.getSelectedRow(),0);ef.姓名.setText(String)table.getValueAt(table.getSelectedRow(),1);ef.性别.setText(String)table.getValueAt(table.getSelectedRow(),2);ef.班级.setText(String)table.getValueAt(table.getSelectedRow(),3);ef.专业.setText(String)table.getValueAt(table.g

15、etSelectedRow(),4);ef.大学语文.setText(String)table.getValueAt(table.getSelectedRow(),5);ef.大学英语.setText(String)table.getValueAt(table.getSelectedRow(),6);ef.高等数学.setText(String)table.getValueAt(table.getSelectedRow(),7);ef.setVisible(true);this.freshTable("select * from 学生成绩表");/刷新表格/删除else i

16、f(e.getSource()=miDel)if (table.getSelectedRow()=-1)JOptionPane.showMessageDialog(null, "请选择你要删除的行", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elseString sql="delete from 学生成绩表 where 学号 = '"+table.getValueAt(table.getSelectedRow(),0)+"'"/JOptionPane.sho

17、wMessageDialog(null, sql, "温馨提示", JOptionPane.INFORMATION_MESSAGE);myConnection conn=new myConnection();if (conn.executeSql(sql)JOptionPane.showMessageDialog(null, "成功删除", "温馨提示", JOptionPane.INFORMATION_MESSAGE);this.freshTable("select * from 学生成绩表");elseJOpt

18、ionPane.showMessageDialog(null, "未知错误", "删除失败", JOptionPane.INFORMATION_MESSAGE);/显示else if(e.getSource()=miShow)/JOptionPane.showMessageDialog(null, "未知错误", "删除失败", JOptionPane.INFORMATION_MESSAGE);this.freshTable("select * from 学生成绩表");/编辑用户else if

19、(e.getSource()=miUser)userFrame uf=new userFrame();uf.setVisible(true);/作业说明else if(e.getSource()=miAbout)aboutFrame af=new aboutFrame();af.setVisible(true);class myConnectionResultSet re;String strurl = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=学生管理数据库.mdb"/String strurl = &qu

20、ot;jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=学生管理数据库.mdb"/String strurl = "jdbc:odbc:cah"/cah为数据源名称public myConnection()public ResultSet getResult(String sql)tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection(strurl);State

21、ment stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet re=stmt.executeQuery(sql);return re;catch(Exception e)e.printStackTrace();/异常处理return null;public boolean executeSql(String sql)tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c

22、onn=DriverManager.getConnection(strurl);Statement stmt=conn.createStatement();stmt.executeUpdate(sql);mit();return true;catch(Exception e) e.printStackTrace();return false;class addFrame extends JDialog implements ActionListenerpublic static final int WIDTH = 400;public static final int HEIGHT = 400

23、;JLabel 学号1,姓名1,性别1,班级1,专业1,大学语文1,大学英语1,高等数学1;JTextField 学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;JButton b;JPanel p;mainFrame mf;public addFrame(mainFrame mmf) setTitle("添加学生成绩"); setSize(WIDTH,HEIGHT); setLocation(120,180); Container contentPane = getContentPane();/创建一个容器对象 contentPane.setLayout(ne

24、w FlowLayout();/流式布局 学号1=new JLabel("学号"); 姓名1=new JLabel("姓名"); 性别1=new JLabel("性别"); 班级1=new JLabel("班级"); 专业1=new JLabel("专业"); 大学语文1=new JLabel("大学语文"); 大学英语1=new JLabel("大学英语"); 高等数学1=new JLabel("高等数学"); 学号=new JTex

25、tField(5); 姓名=new JTextField(5); 性别=new JTextField(5); 班级=new JTextField(5); 专业=new JTextField(5); 大学语文=new JTextField(5); 大学英语=new JTextField(10); 高等数学=new JTextField(10); b=new JButton("确定"); p=new JPanel(); p.setLayout(new GridLayout(10,2,5,5);/表格布局 p.add(学号1); p.add(学号); p.add(姓名1); p.

26、add(姓名); p.add(性别1); p.add(性别); p.add(班级1); p.add(班级); p.add(专业1); p.add(专业); p.add(大学语文1); p.add(大学语文); p.add(大学英语1); p.add(大学英语); p.add(高等数学1); p.add(高等数学); p.add(new Label(""); p.add(new Label(""); p.add(b); contentPane.add(p); /添加按钮监听器 b.addActionListener(this); mf=mmf;public

27、 void actionPerformed(ActionEvent e)if (学号.getText().toString().equals("")JOptionPane.showMessageDialog(null, "请输入学号", "温馨提示", JOptionPane.INFORMATION_MESSAGE);else if (姓名.getText().toString().equals("")JOptionPane.showMessageDialog(null, "请输入姓名", &q

28、uot;温馨提示", JOptionPane.INFORMATION_MESSAGE);else if (大学语文.getText().toString().equals("")JOptionPane.showMessageDialog(null, "请输入大学语文", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elseString sql="select * from 学生成绩表 where 学号='" + 学号.getText() + "

29、9;"myConnection conn=new myConnection();ResultSet rs;rs=conn.getResult(sql);try/System.out.println(rs.getRow();if (rs.next()JOptionPane.showMessageDialog(null, "此学号已经存在", "温馨提示", JOptionPane.INFORMATION_MESSAGE);/添加学生的时候,发现数据库已经有了,提示你学号已经存在,报错误信息elsesql="insert into 学生成

30、绩表 values('" +学号.getText()+"','"+ 姓名.getText() +"','"+ 性别.getText() +"','"+ 班级.getText() +"','"+ 专业.getText() +"','"+ 大学语文.getText() +"','"+ 大学英语.getText() +"','"+ 高

31、等数学.getText() +"')"/实行数据库插入的语句if (conn.executeSql(sql)/插入语句JOptionPane.showMessageDialog(null, "添加成功", "温馨提示", JOptionPane.INFORMATION_MESSAGE);mf.freshTable("select * from 学生成绩表");学号.setText("");姓名.setText("");性别.setText("");

32、班级.setText("");专业.setText("");大学语文.setText("");大学英语.setText("");高等数学.setText("");elseJOptionPane.showMessageDialog(null, "添加失败", "温馨提示", JOptionPane.INFORMATION_MESSAGE);/插入失败catch(Exception er)System.out.println(er.toString();cla

33、ss editFrame extends JDialog implements ActionListenerpublic static final int WIDTH = 400;public static final int HEIGHT = 400;JLabel 学号1,姓名1,性别1,班级1,专业1,大学语文1,大学英语1,高等数学1;JTextField 学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;JButton b;JPanel p;mainFrame mf;public editFrame(mainFrame mmf) setTitle("修改学生信息&q

34、uot;); setSize(WIDTH,HEIGHT); setLocation(120,180); Container contentPane = getContentPane(); contentPane.setLayout(new FlowLayout(); 学号1=new JLabel("学号"); 姓名1=new JLabel("姓名"); 性别1=new JLabel("性别"); 班级1=new JLabel("班级"); 专业1=new JLabel("专业"); 大学语文1=

35、new JLabel("大学语文"); 大学英语1=new JLabel("大学英语"); 高等数学1=new JLabel("高等数学"); 学号=new JTextField(5); 姓名=new JTextField(5); 性别=new JTextField(5); 班级=new JTextField(5); 专业=new JTextField(5); 大学语文=new JTextField(5); 大学英语=new JTextField(10); 高等数学=new JTextField(10); 学号.setEnabled(

36、false); b=new JButton("确定"); p=new JPanel(); p.setLayout(new GridLayout(10,2,5,5); p.add(学号1); p.add(学号); p.add(姓名1); p.add(姓名); p.add(性别1); p.add(性别); p.add(班级1); p.add(班级); p.add(专业1); p.add(专业); p.add(大学语文1); p.add(大学语文); p.add(大学英语1); p.add(大学英语); p.add(高等数学1); p.add(高等数学); p.add(new L

37、abel(""); p.add(new Label(""); p.add(b); contentPane.add(p); /添加按钮监听器 b.addActionListener(this); mf=mmf;/这是画界面public void actionPerformed(ActionEvent e)if (学号.getText().toString().equals("")/判断JOptionPane.showMessageDialog(null, "请输入学号", "温馨提示", JOpt

38、ionPane.INFORMATION_MESSAGE);/弹出的小窗口提示else if (姓名.getText().toString().equals("")JOptionPane.showMessageDialog(null, "请输入姓名", "温馨提示", JOptionPane.INFORMATION_MESSAGE);else if (大学语文.getText().toString().equals("")JOptionPane.showMessageDialog(null, "请输入大学语

39、文", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elseString sql="update 学生成绩表 set 姓名='"+姓名.getText()+"',性别='"+性别.getText()+"',班级='"+班级.getText()+"',专业='"+专业.getText()+"',大学语文='"+大学语文.getText()+"'

40、;,大学英语='"+大学英语.getText()+"',高等数学='"+高等数学.getText()+"' where 学号='" + 学号.getText() + "'"/数据库语句myConnection conn=new myConnection();/打开数据库的连接try/JOptionPane.showMessageDialog(null, sql, "温馨提示", JOptionPane.INFORMATION_MESSAGE);if (con

41、n.executeSql(sql)/执行sql语句,弹出窗口,查询学生表刷新tableJOptionPane.showMessageDialog(null, "修改成功", "温馨提示", JOptionPane.INFORMATION_MESSAGE);mf.freshTable("select * from 学生成绩表");this.dispose();/关闭当前窗体对象,隐藏elseJOptionPane.showMessageDialog(null, "修改失败", "温馨提示", JO

42、ptionPane.INFORMATION_MESSAGE);catch(Exception er)er.printStackTrace();class findFrame extends JDialog implements ActionListenermainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql="select * from student"String colStr="学号","姓名","性别"

43、,"班级","专业","大学语文","大学英语","高等数学" public findFrame(mainFrame mmf)mf=mmf;p=new JPanel();c=new JComboBox(colStr);t=new JTextField(10);b=new JButton("查找");fAll=new JButton("全部显示");b.addActionListener(this);fAll.addActionListener(this);

44、p.add(new JLabel("选择");p.add(c);p.add(new JLabel("查找内容");p.add(t);p.add(b);p.add(fAll);this.add(p);this.setTitle("查找");this.setSize(450,80);public void actionPerformed(ActionEvent e)/查找if (e.getSource()=b)String selectStr=c.getSelectedItem().toString();if (selectStr=&qu

45、ot;大学英语")sql="select * from 学生成绩表 where "+selectStr+" = "+t.getText().toString();elsesql="select * from 学生成绩表 where "+selectStr+" = '"+t.getText().toString()+"'"mf.freshTable(sql);/全部显示if (e.getSource()=fAll)sql="select * from 学生成绩表

46、"mf.freshTable(sql);/监听程序,选择查成绩,最后是重新刷新tableclass aboutFrame extends JDialog /关于我的信息aboutFrame()JPanel p1=new JPanel();p1.add(new JLabel("学生成绩管理系统");p1.add(new JLabel("制作者:袁天荣");p1.add(new JLabel("学院:计算机工程学院");p1.add(new JLabel("电话:");p1.setLayout(new Gri

47、dLayout(4,1,5,5);this.add(p1);this.setTitle("关于我");this.setSize(300,200);class userFrame extends JFrame implements ActionListener /用户密码JTextField user,pass;JButton add,del;JTable t;JPanel p1,p2,p3,p4,p5;DefaultTableModel m;public userFrame()p1=new JPanel();p2=new JPanel();p3=new JPanel();p

48、4=new JPanel();p5=new JPanel();user=new JTextField(8);pass=new JTextField(8);add=new JButton("添加");del=new JButton("删除");String col = "用户名","密码"m= new DefaultTableModel(col,0);t=new JTable();t.setModel(m);JScrollPane sp = new JScrollPane(t);p1.add(new JLabel(&

49、quot;用户名");p1.add(user);p1.add(new JLabel("密码");p1.add(pass);p1.add(add);p2.add(sp);p3.add(del);add.addActionListener(this);del.addActionListener(this);myConnection conn=new myConnection();ResultSet rs;rs=conn.getResult("select * from 管理员");/开始时连接数据库,查询数据,返回结果集,if (rs!=null)

50、/把查询结果放到table里面try/m.setRowCount(0);/table.setModel(mm);while(rs.next() String 用户名 = rs.getString("用户名"); String 密码 = rs.getString("密码"); String cloumns =用户名,密码; m.addRow(cloumns); t.setModel(m);catch(Exception e)System.out.println(e.toString();this.add(p1,BorderLayout.NORTH);thi

51、s.add(p2,BorderLayout.CENTER);this.add(p3,BorderLayout.SOUTH);this.add(p4,BorderLayout.WEST);this.add(p5,BorderLayout.EAST);this.setTitle("用户管理");this.setSize(600,400);public void actionPerformed(ActionEvent e)/用户添加if (e.getSource()=add)if (user.getText().toString().equals("")JOp

52、tionPane.showMessageDialog(null, "请输入用户名", "温馨提示", JOptionPane.INFORMATION_MESSAGE);else if (pass.getText().toString().equals("")JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elsemyConnection conn=new myConnect

53、ion();ResultSet rs;tryrs=conn.getResult("select * from 管理员 where 用户名='"+user.getText().toString()+"'");if (rs.next()JOptionPane.showMessageDialog(null, "此用户已经存在", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elseif (conn.executeSql("insert into 管理员 va

54、lues('"+user.getText().toString()+"','"+pass.getText().toString()+"')")String newUser=user.getText(),pass.getText();m.addRow(newUser);t.setModel(m);JOptionPane.showMessageDialog(null, "添加成功", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elseJO

55、ptionPane.showMessageDialog(null, "添加失败", "温馨提示", JOptionPane.INFORMATION_MESSAGE);catch(Exception er)System.out.println(er.toString();/删除else if (e.getSource()=del)if (t.getSelectedRow()=-1)JOptionPane.showMessageDialog(null, "请选择你要删除的行", "温馨提示", JOptionPane.INFORMATION_MESSAGE);elseString sql="delete from 管理员 where 用户名 = '"+t.getValueAt(t.getSelectedRow(),0)+"'&qu

温馨提示

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

评论

0/150

提交评论