《2022年java课程设计方案9.docx》由会员分享,可在线阅读,更多相关《2022年java课程设计方案9.docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源Java 课程设计- 简洁的班级治理系统班级:运算机姓名:陈029 班强学号: 200294409132004-12-20一:需求分析1. 功能需求1). 能够实现对班级同学基本资料的录入,包括同学的学号,姓名,性别,所学专业,家庭住址以及产生年月等;2). 能够实现对同学基本资料的修改;3). 依据学号对同学资料进行查询;4). 能够删除某些同学的资料;二:总体设计本班级治理系统共有6 个 java源文件;类之间的主要关系如下图所示:StudentManager主类 StudentSituationInquesDeleteModiifySituationStuden学院:船山学院
2、各主类的主要作用如下:1.StudentManager.java该 java文件的类负责创建班级同学治理系统的主窗口;该类包含main 方法,程序从该类开头执行;2.StudentStituation.java该文件的类负责创建班级同学治理系统的同学信息录入界面;欢迎下载精品学习资源3.ModifySituation.java该文件的类负责创建班级同学治理系统的同学基本信息修改界面;4.Inquest.java该文件的类负责创建班级同学治理系统的同学基本信息查询界面;5.Delete.java该文件的类负责创建班级同学治理系统的同学信息删除界面;6.Student.java负责创建存放同学信息
3、的对象;三:详细设计1. 主类 StudentManager.java 1. 成员变量主要成员变量成员变量描述变量类型变量名称欢迎下载精品学习资源基本信息录入界面基本信息修改界面基本信息查询界面基本信息删除界面菜单项项存基本信息的散列表存放散列表的文件2). 方法StudentSituation ModifySituationInquest Delete JMenuItem Hashtable File主要方法基本信息录入基本信息修改基本信息查询基本信息删除录入,修改,查询,删除基本信息file欢迎下载精品学习资源名称功能备注欢迎下载精品学习资源StudentManager actionPer
4、formedmain3). 代码StudentManager.java import java.awt.*;创建程序主窗口处理 ActionEvent大事程序开头运行构造方法接口方法欢迎下载精品学习资源import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;publicclassStudentManagerextendsJFrameimplements ActionListenerStudentSituation基本信息录入 =null ;ModifySituation基本
5、信息修改 =null ;Inquest基本信息查询 =null ;Delete基本信息删除 =null ;JMenuBar bar;JMenu fileMenu;JMenuItem录入 , 修改 , 查询, 删除 , 退出;Container con=null;欢迎下载精品学习资源Hashtable基本信息 =null ;File file=null;CardLayout card=null;JLabel label;JPanel pCenter;public StudentManagersetTitle欢迎进入班级治理系统 ;录入 =new JMenuItem 录入同学基本信息 ;修改 =n
6、ew JMenuItem 修改同学基本信息 ;查询 =new JMenuItem 查询同学基本信息 ;删除 =new JMenuItem 删除同学基本信息 ;退出 =new JMenuItem 退出本系统 ;退出 .addActionListenernew ActionListenerpublic void actionPerformedActionEvent eventSystem.exit0;bar=new JMenuBar; fileMenu=new JMenu菜单项项 ;fileMenu.add录入 ;fileMenu.addSeparator;fileMenu.add修改 ;file
7、Menu.addSeparator;fileMenu.add查询 ;fileMenu.addSeparator;fileMenu.add删除 ;fileMenu.addSeparator;fileMenu.addSeparator;fileMenu.add退出 ;bar.addfileMenu;setJMenuBarbar;label=new JLabel欢迎进入班级治理系统 .,label.CENTER;label.setFontnew Font隶书 ,Font.BOLD,30;label.setForegroundColor.blue;基本信息 =new Hashtable;录入 .add
8、ActionListenerthis;修改 .addActionListenerthis;查询 .addActionListenerthis;删除 .addActionListenerthis;card=new CardLayout;con=getContentPane;欢迎下载精品学习资源pCenter=new JPanel;pCenter.setLayoutcard;file=new File同学基本信息 .txt;if.file.existstryFileOutputStream out=new FileOutputStreamfile;ObjectOutputStreamobjectO
9、ut=new ObjectOutputStreamout;objectOut.writeObject基本信息 ;objectOut.close;out.close;catchIOException e基本信息录入 =new StudentSituationfile;基本信息修改 =new ModifySituationfile;基本信息查询 =new Inquestthis,file;基本信息删除 =new Deletefile;pCenter.add欢迎语界面 ,label;pCenter.add录入界面 , 基本信息录入 ;pCenter.add修改界面 , 基本信息修改 ;pCenter
10、.add删除界面 , 基本信息删除 ;con.addpCenter,BorderLayout.CENTER;con.validate;addWindowListenernew WindowAdapter public void windowClosingWindowEvent eSystem.exit0;setVisibletrue;setBounds100,50,420,380;validate;public void actionPerformedActionEvent eife.getSource=录入card.showpCenter,录入界面 ;else ife.getSource=修
11、改 欢迎下载精品学习资源描述存放“同学”对象的散列表输入同学基本信息的文本存放同学信息的对象2. 方法变量类型Hashtable JTextField Student变量名称基本信息表学号 , 姓名 , 所学专业 , 家庭住址, 产生同学名称StudentSituation actionPerformed主要方法功能创建同学信息录入界面处理 ActionEvent大事备注构造方法接口方法card.showpCenter,修改界面 ;else ife.getSource=查询 基本信息查询 .setVisibletrue;else ife.getSource=删除 card.showpCente
12、r,删除界面 ;public static void mainString argsnew StudentManager;2. 录入界面 1. 成员变量主要成员变量属性3. 代码StudentSituation.java import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class StudentSituation extends JPanel implements ActionListenerHashtable基本信息表 =null
13、 ;JTextField学号 , 姓名 , 所学专业 , 家庭住址 , 产生;JRadioButton男, 女;Student同学 =null ;ButtonGroup group=null;JButton录入 , 重置;欢迎下载精品学习资源FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public StudentSituationFile filethis.file=file;学
14、号 =new JTextField10;姓名 =new JTextField10;所学专业 =new JTextField10;家庭住址 =new JTextField10;产生 =new JTextField10;group=new ButtonGroup;男=new JRadioButton男,true;女=new JRadioButton女,false;group.add男 ;group.add女 ;录入 =new JButton录入 ;重置 =new JButton重置 ;录入 .addActionListenerthis;重置 .addActionListenerthis;Box b
15、ox1=Box.createHorizontalBox;box1.addnew JLabel学号 :,JLabel.CENTER;box1.add学号 ;Box box2=Box.createHorizontalBox; box2.addnew JLabel姓名 :,JLabel.CENTER;box2.add姓名 ;Box box3=Box.createHorizontalBox;box3.addnew JLabel性别 :,JLabel.CENTER;box3.add男 ;box3.add女 ;Box box4=Box.createHorizontalBox;box4.addnew JLa
16、bel所学专业 :,JLabel.CENTER;box4.add所学专业 ;Box box5=Box.createHorizontalBox;box5.addnew JLabel家庭住址 :,JLabel.CENTER;box5.add家庭住址 ;Box box6=Box.createHorizontalBox; box6.addnew JLabel产生 :,JLabel.CENTER;box6.add产生 ;Box boxH=Box.createVerticalBox;boxH.addbox1;boxH.addbox2;欢迎下载精品学习资源boxH.addbox3 ;boxH.addbox4
17、 ;boxH.addbox5 ;boxH.addbox6 ;boxH.addBox.createVerticalGlue;JPanel pCenter=new JPanel;pCenter.addboxH; setLayoutnew BorderLayout;addpCenter,BorderLayout.CENTER;JPanel pSouth=new JPanel;pSouth.add录入 ;pSouth.add重置 ;addpSouth,BorderLayout.SOUTH;validate;public void actionPerformedActionEvent eife.getS
18、ource=录入String number=;number=学号.getText;ifnumber.length0try inOne=new FileInputStreamfile;inTwo=new ObjectInputStreaminOne;基本信息表 =HashtableinTwo.readObject;inOne.close;inTwo.close;catchException eeif基本信息表 .containsKeynumberString warning=该生基本信息已存在 , 请到修改页面修改. ;JOptionPane.showMessageDialogthis,warn
19、ing,警告,JOptionPane.WARNING_MESSAGE;elseString m=基本信息将被录入. ;intok=JOptionPane.showConfirmDialogthis,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE;欢迎下载精品学习资源ifok=JOptionPane.YES_OPTIONString name=姓名 .getText;String discipling=所学专业 .getText;String grade=家庭住址 .getText;String borth=产生 .g
20、etText;String sex=null;if男.isSelectedsex=男.getText;else欢迎下载精品学习资源trysex=女.getText;同学=new Student;同学.setNumbernumber;同学.setNamename ;同学.setDisciplingdiscipling;同学.setGradegrade;同学.setBorthborth;同学.setSexsex;欢迎下载精品学习资源outOne=new FileOutputStreamfile;outTwo=new ObjectOutputStreamoutOne;基本信息表 .putnumber
21、,同学 ;outTwo.writeObject基本信息表 ;outTwo.close;outOne.close;学号 .setTextnull;姓名 .setTextnull;欢迎下载精品学习资源所学专业 .setTextnull;家庭住址 .setTextnull;catchException ee产生 .setTextnull;欢迎下载精品学习资源elseSystem.out.printlnee;欢迎下载精品学习资源描述存放“同学”对象的散表显示同学基本信息的文本变量类型Hashtable JTextField变量名称基本信息表学号 , 姓名 , 所学专业 , 家庭住址, 产生2. 方法名
22、称Inquest actionPerformed主要方法功能 创建查询界面处理 ActionEvent大事备注构造方法接口方法String warning=必需要输入学号 . ;JOptionPane.showMessageDialogthis,warning,警告,JOptionPane.WARNING_MESSAGE;ife.getSource=重置学号.setTextnull;姓名.setTextnull;所学专业 .setTextnull;家庭住址 .setTextnull;产生.setTextnull;3. 查询界面1. 成员变量主要成员变量属性3. 代码Inquest.javaim
23、port java.awt.*; import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements ActionListenerHashtable基本信息表 =null ;JTextField学号 , 姓名 , 所学专业 , 家庭住址 , 产生;JRadioButton男, 女;JButton查询; ButtonGroup group=null;FileInputStream inOne=null;Obj
24、ectInputStream inTwo=null;File file=null;public InquestJFrame f,File file欢迎下载精品学习资源superf,查询对话框 ,false;this.file=file;学号 =new JTextField10;查询 =new JButton查询 ;学号 .addActionListenerthis;查询 .addActionListenerthis;姓名 =new JTextField10 ;姓名 .setEditablefalse ;所学专业 =new JTextField10 ;所学专业 .setEditablefalse
25、 ;家庭住址 =new JTextField10 ;家庭住址 .setEditablefalse ;产生 =new JTextField10;产生 .setEditablefalse;男=new JRadioButton男,false;女=new JRadioButton女,false;group=new ButtonGroup;group.add男 ;group.add女 ;Box box1=Box.createHorizontalBox;box1.addnew JLabel输入要查询的学号 :,JLabel.CENTER;box1.add学号 ;box1.add查询 ;Box box2=B
26、ox.createHorizontalBox;box2.addnew JLabel姓名 :,JLabel.CENTER;box2.add姓名 ;Box box3=Box.createHorizontalBox; box3.addnew JLabel性别 :,JLabel.CENTER;box3.add男 ;box3.add女 ;Box box4=Box.createHorizontalBox;box4.addnew JLabel所学专业 :,JLabel.CENTER;box4.add所学专业 ;Box box5=Box.createHorizontalBox;box5.addnew JLab
27、el家庭住址 :,JLabel.CENTER;box5.add家庭住址 ;Box box6=Box.createHorizontalBox; box6.addnew JLabel产生 :,JLabel.CENTER;box6.add产生 ;Box boxH=Box.createVerticalBox;boxH.addbox1 ;boxH.addbox2 ;boxH.addbox3 ;欢迎下载精品学习资源boxH.addbox4 ;boxH.addbox5 ;boxH.addbox6 ;boxH.addBox.createVerticalGlue;JPanel pCenter=new JPane
28、l;pCenter.addboxH;Container con=getContentPane;con.addpCenter,BorderLayout.CENTER;con.validate;setVisiblefalse;setBounds100,200,360,270;addWindowListenernew WindowAdapter public void windowClosingWindowEvent esetVisiblefalse;public void actionPerformedActionEvent e姓名 .setTextnull;所学专业 .setTextnull;家
29、庭住址 .setTextnull;产生 .setTextnull;ife.getSource=查询|e.getSource=学号 String number=;number=学号.getText;ifnumber.length0try inOne=new FileInputStreamfile;inTwo=new ObjectInputStreaminOne;基本信息表 =HashtableinTwo.readObject;inOne.close;inTwo.close;catchException eeif基本信息表 .containsKeynumberStudent stu=Student
30、基本信息表 .getnumber;姓名 .setTextstu.getName;欢迎下载精品学习资源所学专业 .setTextstu.getDisciping;家庭住址 .setTextstu.getGrade;产生 .setTextstu.getBorth;ifstu.getSex.equals男欢迎下载精品学习资源else男.setSelectedtrue;女.setSelectedtrue;欢迎下载精品学习资源描述存放“同学”对象的散列表输入同学基本信息的文本条变量类型Hashtabel JTextField变量名称基本信息表学号, 姓名 , 所学专业 , 家庭住址 , 产生2. 方法名
31、称ModifySituation actionPerform主要方法功能创建同学信息修改界面处理 ActionEvent大事备注构造方法接口方法elseString warning=该学号不存在 . ;JOptionPane.showMessageDialogthis,warning,警告,JOptionPane.WARNING_MESSAGE;elseString warning=必需要输入学号 . ;JOptionPane.showMessageDialogthis,warning,警告,JOptionPane.WARNING_MESSAGE;3. 修改界面1. 成员变量主要成员变量3.
32、代码ModifySituation.java import java.awt.*;import java.awt.event.*;import javax.swing.*;欢迎下载精品学习资源import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListenerHashtable基本信息表 =null ;JTextField学号 , 姓名 , 所学专业 , 家庭住址 , 产生;JRadioButton男, 女;ButtonGroup group=null;
33、 JButton开头修改 , 录入修改 , 重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public ModifySituationFile filethis.file=file;学号 =new JTextField10;姓名 =new JTextField10;所学专业 =new JTextField10;家庭住址 =new JTextField10;产生 =new JT
34、extField10;group=new ButtonGroup;男=new JRadioButton男,true;女=new JRadioButton女,false;group.add 男 ;group.add 女 ;开头修改 =new JButton 开头修改 ;录入修改 =new JButton 录入修改 ;录入修改 .setEnabledfalse ;重置 =new JButton 重置 ;学号 .addActionListenerthis;开头修改 .addActionListenerthis;录入修改 .addActionListenerthis;重置 .addActionList
35、enerthis;Box box1=Box.createHorizontalBox ;box1.addnew JLabel输入要修改信息的学号:,JLabel.CENTER;box1.add学号 ;box1.add开头修改 ;Box box2=Box.createHorizontalBox;box2.addnew JLabel新 姓名 :,JLabel.CENTER;box2.add姓名 ;Box box3=Box.createHorizontalBox;box3.addnew JLabel新 性别 :,JLabel.CENTER;欢迎下载精品学习资源box3.add男 ;box3.add女
36、;Box box4=Box.createHorizontalBox;box4.addnew JLabel新 所学专业 :,JLabel.CENTER;box4.add所学专业 ;Box box5=Box.createHorizontalBox;box5.addnew JLabel新 家庭住址 :,JLabel.CENTER;box5.add家庭住址 ;Box box6=Box.createHorizontalBox;box6.addnew JLabel新 产生 :,JLabel.CENTER;box6.add产生 ;Box boxH=Box.createVerticalBox;boxH.add
37、box1;boxH.addbox2;boxH.addbox3;boxH.addbox4;boxH.addbox5;boxH.addbox6;boxH.addBox.createVerticalGlue;JPanel pCenter=new JPanel;pCenter.addboxH;setLayoutnew BorderLayout;addpCenter,BorderLayout.CENTER;JPanel pSouth=new JPanel;pSouth.add录入修改 ;pSouth.add重置 ;addpSouth,BorderLayout.SOUTH;validate;public
38、void actionPerformedActionEvent eife.getSource=开头修改 |e.getSource=学号String number=;number=学号.getText;ifnumber.length0try inOne=new FileInputStreamfile;inTwo=new ObjectInputStreaminOne;基本信息表 =HashtableinTwo.readObject;inOne.close;inTwo.close;欢迎下载精品学习资源catchException eeif基本信息表 .containsKeynumber录入修改 .s
39、etEnabledtrue;Student stu=Student基本信息表 .getnumber;姓名 .setTextstu.getName;所学专业 .setTextstu.getDisciping;家庭住址 .setTextstu.getGrade;产生 .setTextstu.getBorth;ifstu.getSex.equals男欢迎下载精品学习资源else男.setSelectedtrue;女.setSelectedtrue;欢迎下载精品学习资源else录入修改 .setEnabledfalse;欢迎下载精品学习资源String warning=该学号不存在 . ;JOptionPane.showMessageDialogthis,warning,警告,JOptionPane.WARNING_MESSAGE;学号 .setTextnull;姓名 .setTextnull;所学专业