2022年java课程设计学生信息管理系统 .pdf
《2022年java课程设计学生信息管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年java课程设计学生信息管理系统 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 程序设计课程设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 目录一、总体设计1.1 学生信息系统结构图1。1.2 本系统的主要功能2。1.3 Java 源文件及其功能2。二 、详细设计2.1 主类 StudentManager 3.2.2 类 StudentSituation5 2.3 类 ModifySituation.8 2.4 类inquest10 2.5 类 Delete 122.6 类 Student
2、.13三、功能测试及运行效果3.1 系统主界面 .15 3.2 录入信息界面.153.3 修改信息界面.163.3 查询信息界面16 3.3 删除信息界面17 程序总结17 参考文献17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 一、总体设计1.1学生信息系统结构图学生信息系统分析结构图1.2 本系统的主要功能运行该系统成功后,会出现一个欢迎使用的主界面,上面的菜单选项,会弹出4 个子菜单分别是录入基本信息、修改基本信息
3、、查询基本信息、删除基本信息。点击它们会出现不同的界面,分别有不同的功能:1. StudentManager.java 该类负责创建学生信息管理系统的主窗口,该类还有main 方法,程序从该类开始执行。学生信息管理系统修改学生信息查询学生信息录入学生信息删除学生信息录入学号录入姓名录入专业录入年级出生日期录入学号修改姓名修改专业修改年级修改生日查询学号删除学号显示姓名显示专业显示年级显示生日删除姓名删除专业删除年级删除生日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 1
4、9 页 - - - - - - - - - 2. StudentSituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供录入、重置学生基本信息的界面。3. ModifySituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。4.Delete.java 该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。5.inquest.java 创建的对象是StudentManager类的重要成员之一,该类负责提供查询学生基本信息的界面。6.Student
5、.java 该类创建的对象是StudentManager类的重要成员之一,该类在做上面操作时可以返回学生的基本信息,主要起到一个返回的作用。本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。1.3 Java 源文件及其功能1.icon.jpg 该文件是窗口最小化时的窗口图标,StudentSituation需要调用该文件。2. 专业 .txt 该 文 件 为 专 业 组 合 的 组 合 键 提 供 下 拉 菜 单 的 内 容 , StudentSituation和ModifySituation调用该文件 。二、详细设计2.1 主类 StudentMa
6、nager 表 2-1 主要成员变量(属性)成员变量描述变量类型名称面板StudentSituationNULL面板ModifySituationNULL 面板inquestNULL面板Delete NULL菜单栏JMenuBar bar 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 菜单组JMenu fileMenu 菜单项JMenuItem StudentSituation,ModifySituationInquest,
7、 Delete布局管理器CardLayout card 表 2-2 主要方法方法名称返回类型功能备注StudentManager无类型创建窗口构造方法actionPerformed 无类型处理响应事件继承自父类抽象方法main 无类型执行程序程序的主函数源代码StudentManager.javaimport java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.Hashtable; public class StudentManager extends JFr
8、ame implements ActionListener StudentSituation 基本信息录入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查询=null; Delete 基本信息删除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 录入 , 修改 , 查询 , 删除 ; Container con=null; Hashtable 基本信息 =null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCen
9、ter; public StudentManager() 录入 =new JMenuItem(录入基本信息); 修改 =new JMenuItem(修改基本信息); 查询 =new JMenuItem(查询基本信息); 删除 =new JMenuItem(删除基本信息); bar=new JMenuBar(); fileMenu=new JMenu(菜单选项 ); fileMenu.add(录入 ); fileMenu.add(修改 ); fileMenu.add(查询 ); fileMenu.add(删除 ); bar.add(fileMenu); setJMenuBar(bar); lab
10、el=new JLabel(welcome to use students system!,JLabel.CENTER); label.setFont(new Font(楷体 , Font.BOLD, 22); label.setForeground(Color.black); 基本信息 =new Hashtable(); 录入 .addActionListener(this); 修改 .addActionListener(this); 查询 .addActionListener(this); 删除 .addActionListener(this); card=new CardLayout()
11、; con=getContentPane(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - pCenter=new JPanel(); pCenter.setLayout(card); file=new File(基本信息 .txt); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream obje
12、ctOut=new ObjectOutputStream(out); objectOut.writeObject(基本信息 ); objectOut.close(); out.close(); catch(IOException e) 基本信息录入=new StudentSituation(file); 基本信息修改=new ModifySituation(file); 基本信息查询=new Inquest(this,file); 基本信息删除=new Delete(file); pCenter.add(欢迎语界面 ,label); pCenter.add(录入界面 , 基本信息录入); pC
13、enter.add(修改界面 , 基本信息修改); pCenter.add(删除界面 , 基本信息删除); con.add(pCenter,BorderLayout.CENTER); con.validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,420,380); validate(); public void actionPerformed(ActionEve
14、nt e) if(e.getSource()=录入 ) card.show(pCenter,录入界面 ); else if(e.getSource()=修改 ) card.show(pCenter,修改界面 ); else if(e.getSource()=查询 ) 基本信息查询.setVisible(true); else if(e.getSource()=删除 ) card.show(pCenter,删除界面 ); public static void main(String args) new StudentManager(); 2.2 类 StudentSituation 表 2-3
15、主要成员变量名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 成员变量描述变量类型名称Hashtable对象类型HashtableNULL 文本域JTextField 学号、姓名、专业、年级、出生组合框JComboBox Smajor 单选框ButtonGroup 男、女按钮多斥作用域ButtonGroup group 按钮JButton 录入、重置表 2-4 主要方法方法名称返回类型功能备注StudentSituation无类
16、型创建录入学生信息界面构造方法actionPerformed 无类型处理响应事件继承自父类抽象方法源代码StudentSituation.javaimport java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; publicclass StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表 =null; JTextField 学号 , 姓名 , 专业 , 年级 ,
17、 出生 ; JRadioButton 男, 女; Student 学生 =null; ButtonGroup group=null; JButton 录入 , 重置 ; FileInputStream inOne =null; ObjectInputStream inTwo =null; FileOutputStream outOne =null; ObjectOutputStream outTwo=null; File file=null; public StudentSituation(File file) this. file=file; 学号 =new JTextField(10);
18、姓名 =new JTextField(10); 专业 =new JTextField(10); 年级 =new JTextField(10); 出生 =new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton( 男 , true); 女=new JRadioButton( 女 , false); group.add(男 ); group.add(女 ); 录入 =new JButton( 录入 ); 重置 =new JButton( 重置 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
19、 - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 录入 .addActionListener(this); 重置 .addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel( 学号 : ,JLabel.CENTER); box1.add(学号 ); Box box2=Box.createHorizontalBox(); box2.add(new JLabel( 姓名 : ,JLabel.CENTER);
20、box2.add(姓名 ); Box box3=Box.createHorizontalBox(); box3.add(new JLabel( 性别 : ,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel( 专业 : ,JLabel.CENTER); box4.add(专业 ); Box box5=Box.createHorizontalBox(); box5.add(new JLabel( 年级 : ,JLabel.CENTER); box5.ad
21、d(年级 ); Box box6=Box.createHorizontalBox(); box6.add(new JLabel( 出生 : ,JLabel.CENTER); box6.add(出生 ); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCen
22、ter.add(boxH); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入 ); pSouth.add(重置 ); add(pSouth,BorderLayout.SOUTH); validate(); publicvoid actionPerformed(ActionEvent e) if(e.getSource()=录入 ) String number= ; number=学号 .getText(); if(number.le
23、ngth()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne ); 基本信息表=(Hashtable)inTwo .readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if( 基本信息表 .containsKey(number) String warning= 该生基本信息已存在, 请到修改页面修改! ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
24、精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - JOptionPane.showMessageDialog( this,warning, 警告 ,JOptionPane.WARNING_MESSAGE); else String m= 基本信息将被录入! ; int ok=JOptionPane.showConfirmDialog( this,m, 确认 ,JOptionPane.YES_NO_OPTION , JOptionPane.INFORMATION_MESSAGE ); if(ok=JOptionPane.YES_OPTION )
25、String name=姓名 .getText(); String discipling=专业 .getText(); String grade=年级 .getText(); String borth=出生 .getText(); String sex=null; if( 男.isSelected() sex=男.getText(); else sex=女.getText(); 学生 =new Student(); 学生 .setNumber(number); 学生 .setName(name); 学生 .setDiscipling(discipling); 学生 .setGrade(grad
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年java课程设计学生信息管理系统 2022 java 课程设计 学生 信息管理 系统
限制150内