java学生学籍管理系统(共21页).doc

上传人:飞****2 文档编号:14076473 上传时间:2022-05-02 格式:DOC 页数:21 大小:52.50KB
返回 下载 相关 举报
java学生学籍管理系统(共21页).doc_第1页
第1页 / 共21页
java学生学籍管理系统(共21页).doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《java学生学籍管理系统(共21页).doc》由会员分享,可在线阅读,更多相关《java学生学籍管理系统(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上主类;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class StudentManager extends JFrame implements ActionListenerStudentSituation 基本信息录入=null;ModifySituation 基本信息修改=null;Inquest 基本信息查询=null;Delete 基本信息删除=null;JMenuBar bar;

2、JMenu fileMenu;JMenuItem 录入,修改,查询,删除;Container con=null; Hashtable 基本信息=null;/存放基本信息的散列表File file=null;/存放散列表的文件CardLayout card=null;/卡片布局JLabel label=null;JPanel pCenter;public StudentManager()录入=new JMenuItem(录入学生基本信息);修改=new JMenuItem(修改学生基本信息);查询=new JMenuItem(查询学生基本信息);删除=new JMenuItem(删除学生基本信息

3、);bar=new JMenuBar();fileMenu=new JMenu(菜单选项);fileMenu.add(录入);fileMenu.add(修改);fileMenu.add(查询);fileMenu.add(删除);bar.add(fileMenu);setJMenuBar(bar);label=new JLabel(欢迎使用学生基本信息管理系统,JLabel.CENTER);label.setFont(new Font( TimesRoman,Font.BOLD,24);label.setForeground(Color.red);基本信息=new Hashtable();录入.

4、addActionListener(this);修改.addActionListener(this);查询.addActionListener(this);删除.addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();pCenter.setLayout(card);file=new File(基本信息.txt);if(!file.exists()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStr

5、eam objectOut=new ObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut.close();out.close();catch(IOException e)基本信息录入=new StudentSituation(file);基本信息修改=new ModifySituation(file);JFrame f=new JFrame();基本信息查询=new Inquest(f,file);基本信息删除=new Delete(file);pCenter.add(欢迎语界面,label);pCenter.add(录入界

6、面,基本信息录入);pCenter.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(ActionEvent

7、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();录入界面:import java.awt.*;impo

8、rt java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;SuppressWarnings(unchecked) public class StudentSituation extends JPanel implements ActionListenerHashtable 基本信息表=null; /存放学生基本信息的散列表JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;Student 学生=null;ButtonGroup group=null;JButton

9、录入,重置;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);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);grou

10、p=new ButtonGroup();男=new JRadioButton(男,true);女=new JRadioButton(女,false);group.add(男);group.add(女);录入=new JButton(录入);重置=new JButton(重置);录入.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel(学号:,JLabel.CENTER);box1.add(学号);Box box2=Box.createH

11、orizontalBox();box2.add(new JLabel(姓名:,JLabel.CENTER);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

12、JLabel(年级:,JLabel.CENTER);box5.add(年级);Box box6=Box.createHorizontalBox();box6.add(new JLabel(出生:,JLabel.CENTER);box6.add(出生);Box boxH=Box.createVerticalBox(); /创建一个垂直的box容器,其中从上向下排列 /6个水平box容器boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.crea

13、teVerticalGlue();/垂直box容器内的组件靠上对齐JPanel pCenter=new JPanel();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);JPanel pSouth=new JPanel();pSouth.add(录入);pSouth.add(重置);add(pSouth,BorderLayout.SOUTH);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=录

14、入)String number=;number=学号.getText();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();/首先到文件中读取hashtable对象 inOne.close();inTwo.close();catch(Exception ee)if(基本信息表.containsKey(number)/如果该生学号对应的基本信息已经存在,弹出对话框String warning=该生

15、基本信息已存在,请到修改页面修改!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);elseString m=基本信息将录入;int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=姓名.getText();String discipling=专业.getTe

16、xt();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();学生=new Student();学生.setNumber(number);学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=new FileOutputStream(file);

17、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(ee);elseString warning=必须输入学号;JOptionPane.showMessageDialog(th

18、is,warning,警告,JOptionPane.WARNING_MESSAGE);if(e.getSource()=重置)学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);查询界面:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements

19、ActionListenerHashtable 基本信息表=null;JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;JButton 查询;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public Inquest(JFrame f,File file)super(f,查询对话框,false);this.file=file;学号=new JTextField(11);查询=new JButton(查询);学号.add

20、ActionListener(this);查询.addActionListener(this);姓名=new JTextField(10);姓名.setEditable(false);专业=new JTextField(10);专业.setEditable(false);年级=new JTextField(10);年级.setEditable(false);出生=new JTextField(10);出生.setEditable(false);男=new JRadioButton(男,false);女=new JRadioButton(女,false);group=new ButtonGrou

21、p();group.add(男);group.add(女);Box box1=Box.createHorizontalBox();/以下创建6个水平box容器,容器内从左向右排列组件。box1.add(new JLabel(输入要查询的学号:,JLabel.CENTER);box1.add(学号);box1.add(查询);Box box2=Box.createHorizontalBox();box2.add(new JLabel(姓名:,JLabel.CENTER);box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JL

22、abel(性别:,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.add(年级);Box box6=Box.createHorizontalBox();box6.add(new JLabel(出生:,JLabel.CENTER);box6

23、.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();/使垂直的Box容器内的组件靠上对齐。JPanel pCenter=new JPanel();pCenter.add(boxH);Container con=getContentPane();con.add(pCenter,BorderLayout.CENTER);c

24、on.validate();setVisible(false);setBounds(100,200,360,270);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)setVisible(false););public void actionPerformed(ActionEvent e)姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);if(e.getSource()=查询|e.getSource()=

25、学号)String number= ;number=学号.getText();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();/首先从文件中读取hashtable对象inOne.close();inTwo.close();catch(Exception ee)if(基本信息表.containsKey(number)Student stu=(Student)基本信息表.get(number);姓

26、名.setText(stu.getName();专业.setText(stu.getDiscipling();年级.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals(男 )男.setSelected(true);else女.setSelected(true);elseString warning=该学号不存在!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);elseString warning=必须

27、输入学号!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);修改界面: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 学号,姓名,专业,年级,出生

28、;JRadioButton 男,女;ButtonGroup group=null;JButton 开始修改,录入修改,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public ModifySituation(File file)this.file=file;学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextFie

29、ld(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton(男,true);女=new JRadioButton(女,false);group.add(男);group.add(女);开始修改=new JButton(开始修改);录入修改=new JButton(录入修改);录入修改.setEnabled(false);重置=new JButton(重置);学号.addActionListener(this);开始修改.addActionListener(this);

30、录入修改.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel(输入要修改信息的学号:,JLabel.CENTER);box1.add(学号);box1.add(开始修改);Box box2=Box.createHorizontalBox();box2.add(new JLabel((新)姓名:,JLabel.CENTER);box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(

31、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.add(年级);Box box6=Box.createHorizontalBox();box6.add(new JLabel((新)出生:,J

32、Label.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();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);JPanel p

33、South=new JPanel();pSouth.add(录入修改);pSouth.add(重置);add(pSouth,BorderLayout.SOUTH);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=开始修改|e.getSource()=学号)String number=;number=学号.getText();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基

34、本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)if(基本信息表.containsKey(number)录入修改.setEnabled(true);Student stu=(Student)基本信息表.get(number);姓名.setText(stu.getName();专业.setText(stu.getDiscipling();年级.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equal

35、s(男)男.setSelected(true);else女.setSelected(true);else 录入修改.setEnabled(false);String warning=该学号不存在!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);else录入修改.setEnabled(false);String warning

36、=必修输入学号!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);else if(e.getSource()=录入修改)String number=;number=学号.getText();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new Obje

37、ctInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)if(基本信息表.containsKey(number)String question=该生基本信息表已存在,您想修改他(她)的基本信息吗?;JOptionPane.showMessageDialog(this,question,警告,JOptionPane.QUESTION_MESSAGE);String m=该生基本信息表将被修改!;int ok=JOptionPane.showCon

38、firmDialog(this,m,确认,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=姓名.getText();String discipling=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();Student 学生=new Student();学生.setNumber(nu

39、mber);学生.setName(name);学生.setDiscipling(discipling);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=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(ee);录入修改.setEnabled(false);else i

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

当前位置:首页 > 教育专区 > 教案示例

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

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