java编写的简单的学生信息管理系统(源码、需求分析).pdf

上传人:l*** 文档编号:73568948 上传时间:2023-02-19 格式:PDF 页数:32 大小:757.20KB
返回 下载 相关 举报
java编写的简单的学生信息管理系统(源码、需求分析).pdf_第1页
第1页 / 共32页
java编写的简单的学生信息管理系统(源码、需求分析).pdf_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《java编写的简单的学生信息管理系统(源码、需求分析).pdf》由会员分享,可在线阅读,更多相关《java编写的简单的学生信息管理系统(源码、需求分析).pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学生信息管理系统 一、需求分析 1、可行性分析 知识爆炸的时代里,求学的人数越来越多,但学校的数量及学校所能提供的资源很有限。为优化管理学生的人力资源,设计了这个系统。2、任务概述 1)目标 在计算机网络,数据库和先进的开发平台上,利用现有 的软件、硬件资源,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的学 生信息管理系统。2)需求要求 这个简单的学生信息管理系统包括以下两个基本功能:管理员登陆 学生信息管理 二、层次图 三、界面预览 登录界面 学生信息管理系统 管理员登陆 学生信息管理 增加学生信息 查询学生信息 修改学生信息 删除学生信息 显示学生信息 该管理员不存

2、在 学生信息管理界面 填写学生信息 录入学生信息 按学号进行查询 查询后可以进行信息的修改 学生信息的删除 显示全部学生信息 四、系统说明 1 该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中 2关于管理员信息,必须现在C盘建立一个名为Login的文本文档,在 Login 中存入用户名和密码且必须分行写入 3 若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改 五、源代码 登录界面源代码 import java.awt.event。;import javax.swing。;import java。awt。;import java。awt.event.ActionEven

3、t;import java。awt。event.ActionListener;import java.awt。event.WindowAdapter;import java.awt。event.WindowEvent;import java.io.BufferedReader;import java。io.File;import java。io.FileReader;import java.io.IOException;import java。util.;import java。sql.;class Login extends JFrame implements ActionListener

4、Container cp=null;String name=null;String psw=null;JFrame f=null;JButton j1,j2;JTextField t1;JPasswordField t2;JLabel jlable1,jlable2;Color c;JPanel jp1,jp2;Login()f=new JFrame(”学生管理系统);j1=new JButton(”确定”);j2=new JButton(取消);cp=f。getContentPane();jlable1=new JLabel(输入用户名”);jlable2=new JLabel(用户密码);

5、jp1=new JPanel();jp2=new JPanel();t1=new JTextField(18);t2=new JPasswordField(18);jp1。add(jlable1);jp1.add(t1);jp1.add(jlable2);jp1。add(t2);JLabel JL=new JLabel(”i欢迎进入学生管理系统/istr。length;i+)/System.out。println(stri);/public void actionPerformed(ActionEvent e)String cmd=e.getActionCommand();if(cmd。equ

6、als(确定))try confirm();catch(IOException e1)/TODO Auto-generated catch block e1。printStackTrace();else if(cmd.equals(取消”)f。dispose();public static void main(String arg)Login a=new Login();学生信息管理界面源代码 import java.awt。*;import java。awt.event.*;import javax.swing。;import java。io。*;import java。util。*;cla

7、ss Student implements java。io。Serializable String number,name,specialty,grade,borth,sex;public Student();public void setNumber(String number)this。number=number;public String getNumber()return number;public void setName(String name)this。name=name;public String getName()return name;public void setSex(

8、String sex)this.sex=sex;public String getSex()return sex;public void setSpecialty(String specialty)this.specialty=specialty;public String getSpecialty()return specialty;public void setGrade(String grade)this.grade=grade;public String getGrade()return grade;public void setBorth(String borth)this。bort

9、h=borth;public String getBorth()return borth;public class Test extends JFrame JLabel lb=new JLabel(”录入请先输入记录,查询、删除请先输入学号,修改是对查询+”内容改后的保存!”);JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;ButtonGroup group=null;JButton 录入,查询,删除,修改,显示;JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 学生=null;Hashtable 学生散列表=null;Fil

10、e file=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;public Test()super(学生信息管理系统”);学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JR

11、adioButton(男”,true);女=new JRadioButton(”女”,false);group.add(男);group.add(女);录入=new JButton(”录入);查询=new JButton(”查询”);删除=new JButton(删除);修改=new JButton(”修改);显示=new JButton(显示);录入.addActionListener(new InputAct());查询.addActionListener(new InquestAct();修改。addActionListener(new ModifyAct();删除。addActionL

12、istener(new DeleteAct();显示.addActionListener(new ShowAct();修改。setEnabled(false);p1=new JPanel();p1。add(new JLabel(”学号:”,JLabel.CENTER));p1。add(学号);p2=new JPanel();p2。add(new JLabel(姓名:,JLabel。CENTER);p2.add(姓名);p3=new JPanel();p3。add(new JLabel(性别:,JLabel。CENTER));p3。add(男);p3.add(女);p4=new JPanel()

13、;p4.add(new JLabel(”专业:,JLabel。CENTER));p4。add(专业);p5=new JPanel();p5.add(new JLabel(”年级:”,JLabel.CENTER);p5。add(年级);p6=new JPanel();p6。add(new JLabel(出生:”,JLabel.CENTER));p6。add(出生);pv=new JPanel();pv.setLayout(new GridLayout(6,1));pv。add(p1);pv.add(p2);pv。add(p3);pv。add(p4);pv。add(p5);pv。add(p6);p

14、h=new JPanel();ph.add(录入);ph.add(查询);ph。add(修改);ph.add(删除);ph。add(显示);file=new File(”学生信息。txt);学生散列表=new Hashtable();if(!file.exists())try FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(学生散列表);objectOut.close();out。close

15、();catch(IOException e)Container con=getContentPane();con.setLayout(new BorderLayout());con.add(lb,BorderLayout。NORTH);con。add(pv,BorderLayout。CENTER);con.add(ph,BorderLayout.SOUTH);setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);public static void main(String arg

16、s)new Test();class InputAct implements ActionListener public void actionPerformed(ActionEvent e)修改。setEnabled(false);String number=”;number=学号.getText();if(number。length()0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学 生 散 列 表=(Hashtable)inTwo。readObject();inOne。close();in

17、Two.close();catch(Exception ee)System。out。println(”创建散列表出现问题!”);if(学生散列表。containsKey(number))String warning=该生信息已存在,请到修改页面修改!;JOptionPane.showMessageDialog(null,warning,警告”,JOptionPane.WARNING_MESSAGE);/end if1 else String m=该生信息将被录入!;int ok=JOptionPane.showConfirmDialog(null,m,确认,JOptionPane。YES_NO

18、_OPTION,JOptionPane。INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=姓名。getText();String specialty=专业。getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男。isSelected())sex=男。getText();elsesex=女。getText();学生=new Student();学生.setNumber(number);学生。setName(name

19、);学生。setSpecialty(specialty);学生。setGrade(grade);学生。setBorth(borth);学生.setSex(sex);try outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number,学生);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();catch(Exception ee)System.out。println(输出散列表出现问题!”);学号。setText(nul

20、l);姓名.setText(null);专业.setText(null);年级.setText(null);出生。setText(null);/end else1 /end if0 else String warning=”必须输入学号!”;JOptionPane。showMessageDialog(null,warning,”警告”,JOptionPane.WARNING_MESSAGE);/end else0 /end actionPerformed /end class class InquestAct implements ActionListener public void acti

21、onPerformed(ActionEvent e)String number=”;number=学号。getText();if(number.length()0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学 生 散 列 表=(Hashtable)inTwo。readObject();inOne.close();inTwo.close();catch(Exception ee)System.out.println(”散列表有问题!);if(学生散列表。containsKey(number))修改

22、.setEnabled(true);Student stu=(Student)学生散列表.get(number);姓名。setText(stu。getName());专业。setText(stu.getSpecialty());年级。setText(stu.getGrade());出生。setText(stu。getBorth();if(stu。getSex().equals(男”))男。setSelected(true);else女。setSelected(true);else 修改。setEnabled(false);String warning=”该学号不存在!”;JOptionPane

23、.showMessageDialog(null,warning,警告,JOptionPane。WARNING_MESSAGE);else 修改。setEnabled(false);String warning=必须输入学号!”;JOptionPane。showMessageDialog(null,warning,”警告,JOptionPane.WARNING_MESSAGE);class ModifyAct implements ActionListener public void actionPerformed(ActionEvent e)String number=学号.getText()

24、;String name=姓名.getText();String specialty=专业。getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男。isSelected()sex=男。getText();elsesex=女.getText();Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生。setGrade(grade);学生。setBorth(bo

25、rth);学生.setSex(sex);try outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表。put(number,学生);outTwo。writeObject(学生散列表);outTwo。close();outOne。close();学号。setText(null);姓名。setText(null);专业。setText(null);年级。setText(null);出生。setText(null);catch(Exception ee)System。out。println(”录入修

26、改出现异常!);修改.setEnabled(false);class DeleteAct implements ActionListener public void actionPerformed(ActionEvent e)修改。setEnabled(false);String number=学号。getText();if(number。length()0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo。readObject();inOne。close(

27、);inTwo。close();catch(Exception ee)if(学生散列表。containsKey(number)Student stu=(Student)学生散列表.get(number);姓名.setText(stu。getName());专业.setText(stu。getSpecialty();年级.setText(stu.getGrade();出生.setText(stu。getBorth());if(stu.getSex().equals(”男”))男。setSelected(true);else女.setSelected(true);String m=”确定要删除该学

28、生的记录吗?”;int ok=JOptionPane。showConfirmDialog(null,m,确认,JOptionPane。YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok=JOptionPane.YES_OPTION)学生散列表.remove(number);try outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();学号.setT

29、ext(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);catch(Exception ee)System。out.println(ee);else if(ok=JOptionPane.NO_OPTION)学号。setText(null);姓名。setText(null);专业.setText(null);年级。setText(null);出生.setText(null);else String warning=该学号不存在!;JOptionPane。showMessageDialog(null

30、,warning,”警告,JOptionPane。WARNING_MESSAGE);else String warning=必须输入学号!;JOptionPane。showMessageDialog(null,warning,警告,JOptionPane.WARNING_MESSAGE);class ShowAct implements ActionListener public void actionPerformed(ActionEvent e)new StudentShow(file);class StudentShow extends JDialog Hashtable 学生散列表=n

31、ull;JTextArea 显示=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public StudentShow(File file)super(new JFrame(),”显示对话框);this。file=file;显示=new JTextArea(16,30);try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne

32、.close();inTwo。close();catch(Exception ee)if(学生散列表。isEmpty()显示.append(”目前还没有学生的信息记录!n);else 显示.setText(学号 姓名 性别 专业 年级 出生n”);for(Enumeration enm=学生散列表.elements();enm.hasMoreElements();)Student stu=(Student)enm。nextElement();String sex=”;if(stu.getSex().equals(”男”)sex=”男”;else sex=”女”;String str=stu。g

33、etNumber()+”,”+stu.getName()+”,”+sex+”,+stu。getSpecialty()+”,+stu。getGrade()+,”+stu。getBorth()+n;显示。append(str);JScrollPane scroll=new JScrollPane(显示);Container con=getContentPane();con。add(Center,scroll);con。validate();setVisible(true);setBounds(200,200,400,300);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)setVisible(false););

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁