用java编教务系统的源码_第1页
用java编教务系统的源码_第2页
用java编教务系统的源码_第3页
用java编教务系统的源码_第4页
用java编教务系统的源码_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.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;public class myStudent public myStudent() public static void main(String args) / 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 ActionListener MenuBar myMenuBar=new 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=new 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);myMenuEdit=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.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(myMenuUser);myMenuBar.add(myMenuAbout); String col = 学号,姓名,性别,民族,年龄,年级,班级,专业;/创建属性列名 mm= new DefaultTableModel(col,0); table.setModel(mm); JScrollPane tableScrollPane = new JScrollPane(table); this.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.addActionListener(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 性别 = rs.getString(性别); String 民族 = rs.getString(民族); String 年龄 = rs.getString(年龄); String 年级 = rs.getString(年级); String 班级 = rs.getString(班级); String 专业 = rs.getString(专业); String cloumns =学号,姓名,性别,民族,年龄,年级,班级,专业; 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);/添加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);ef.学号.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.getSelectedRow(),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 if(e.getSource()=miDel)if (table.getSelectedRow()=-1)JOptionPane.showMessageDialog(null, 请选择你要删除的行, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else String sql=delete from 学生信息表 where 学号 = +table.getValueAt(table.getSelectedRow(),0)+; /JOptionPane.showMessageDialog(null, sql, 温馨提示, JOptionPane.INFORMATION_MESSAGE);myConnection conn=new myConnection();if (conn.executeSql(sql)JOptionPane.showMessageDialog(null, 成功删除, 温馨提示, JOptionPane.INFORMATION_MESSAGE);this.freshTable(select * from 学生信息表);else JOptionPane.showMessageDialog(null, 未知错误, 删除失败, JOptionPane.INFORMATION_MESSAGE);/显示else if(e.getSource()=miShow)/JOptionPane.showMessageDialog(null, 未知错误, 删除失败, JOptionPane.INFORMATION_MESSAGE);this.freshTable(select * from 学生信息表);/用户管理else if(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;public myConnection()public ResultSet getResult(String sql)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection conn=DriverManager.getConnection(strurl);Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet re=stmt.executeQuery(sql);return re;catch(Exception e)System.out.println(getResult-+e.toString();return null;public boolean executeSql(String sql)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection conn=DriverManager.getConnection(strurl);Statement stmt=conn.createStatement();stmt.executeUpdate(sql);mit();return true;catch(Exception e)System.out.println(executeSql-+e.toString();return false;class addFrame extends JDialog implements ActionListener public 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 addFrame(mainFrame mmf) setTitle(修改学生信息); 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=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); 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 Label(); 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, 请输入学号, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else if (姓名.getText().toString().equals()JOptionPane.showMessageDialog(null, 请输入姓名, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else if (年龄.getText().toString().equals()JOptionPane.showMessageDialog(null, 请输入年龄, 温馨提示, JOptionPane.INFORMATION_MESSAGE);elseString sql=select * from 学生信息表 where 学号= + 学号.getText() + ;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 学生信息表 values( +学号.getText()+,+ 姓名.getText() +,+ 性别.getText() +,+ 民族.getText() +,+ 年龄.getText() +,+ 年级.getText() +,+ 班级.getText() +,+ 专业.getText() +);if (conn.executeSql(sql)JOptionPane.showMessageDialog(null, 添加成功, 温馨提示, JOptionPane.INFORMATION_MESSAGE);mf.freshTable(select * from 学生信息表);学号.setText();姓名.setText();性别.setText();民族.setText();年龄.setText();年级.setText();班级.setText();专业.setText();elseJOptionPane.showMessageDialog(null, 添加失败, 温馨提示, JOptionPane.INFORMATION_MESSAGE);catch(Exception er)System.out.println(er.toString();class editFrame extends JDialog implements ActionListener public 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(修改学生信息); 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=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(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 Label(); 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, 请输入学号, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else if (姓名.getText().toString().equals()JOptionPane.showMessageDialog(null, 请输入姓名, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else if (年龄.getText().toString().equals()JOptionPane.showMessageDialog(null, 请输入年龄, 温馨提示, JOptionPane.INFORMATION_MESSAGE);elseString sql=update 学生信息表 set 姓名=+姓名.getText()+,性别=+性别.getText()+,年龄=+年龄.getText()+,年级=+年级.getText()+,班级=+班级.getText()+,专业=+专业.getText()+,民族=+民族.getText()+ where 学号= + 学号.getText() + ;myConnection conn=new myConnection();try/JOptionPane.showMessageDialog(null, sql, 温馨提示, JOptionPane.INFORMATION_MESSAGE);if (conn.executeSql(sql)JOptionPane.showMessageDialog(null, 修改成功, 温馨提示, JOptionPane.INFORMATION_MESSAGE);mf.freshTable(select * from 学生信息表);this.dispose();elseJOptionPane.showMessageDialog(null, 修改失败, 温馨提示, JOptionPane.INFORMATION_MESSAGE);catch(Exception er)System.out.println(er.toString();class findFrame extends JDialog implements ActionListener mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=select * from student;String colStr=学号,姓名,性别,民族,年龄,年级,班级,专业;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);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=年龄)sql=select * from 学生信息表 where +selectStr+ = +t.getText().toString();else sql=select * from 学生信息表 where +selectStr+ = +t.getText().toString()+;mf.freshTable(sql);/全部显示if (e.getSource()=fAll)sql=select * from 学生信息表;mf.freshTable(sql);class aboutFrame extends JDialogaboutFrame()JPanel p1=new JPanel();p1.add(new JLabel(学生信息管理系统);p1.add(new JLabel(版权所有:农福刚);p1.add(new JLabel(农福刚有限责任公司出口);p1.add(new JLabel(QQ:);p1.setLayout(new GridLayout(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();p4=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(用户名);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)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);this.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()JOptionPane.showMessageDialog(null, 请输入用户名, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else if (pass.getText().toString().equals()JOptionPane.showMessageDialog(null, 请输入密码, 温馨提示, JOptionPane.INFORMATION_MESSAGE);elsemyConnection conn=new myConnection();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 管理员 values(+user.getText().toString()+,+pass.getText().toString()+)String newUser=user.getText(),pass.getText();m.addRow(newUser);t.setModel(m);JOptionPane.showMessageDialog(null, 添加成功, 温馨提示, JOptionPane.INFORMATION_MESSAGE);elseJOptionPane.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);else String sql=delete from 管理员 where 用户名 = +t.getValueAt(t.getSelectedRow(),0)+; /JOptionPane.showMessageDialog(null, sql, 温馨提示, JOptionPane.INFORMATION_MESSAGE);myConnection conn=new myConnection();if (conn.executeSql(sql)m.removeRow(t.getSelectedRow();t.setModel(m);/t.removeRowSelectionInterval();JOptionPane.showMessageDialog(null, 成功删除, 温馨提示, JOptionPane.INFORMATION_MESSAGE);else JOptionPane.showMessageDialog(null, 未知错误, 删除失败, JOptionPane.INFORMATION_MESSAGE);

温馨提示

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

评论

0/150

提交评论