版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用java编写学生信息管理系统import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; class Student implements java.io.Serializable String number,name,specialty,grade,borth,sex; public Student(); public void setNumber(String number) this.number=number; public String
2、getNumber() return number; public void setName(String name) =name; public String getName() return name; public void setSex(String sex) this.sex=sex; public String getSex() return sex; public void setSpecialty(String specialty) this.specialty=specialty; public String getSpecialty() return sp
3、ecialty; public void setGrade(String grade) this.grade=grade; public String getGrade() return grade; public void setBorth(String borth) this.borth=borth; public String getBorth() return borth; public class StudentManager extends JFrame JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" + &
4、quot;内容改后的保存!"); static JTextField Jnumber,Jname,Jspecialty,Jgrade,Jborth; static JRadioButton boy,girl; static ButtonGroup group=null; static JButton Login,select,delete,update,show; static JPanel p1,p2,p3,p4,p5,p6,pv,ph; static Student student=null; static Hashtable Shashtable=null; static Fi
5、le file=null; static FileInputStream inOne=null; static ObjectInputStream inTwo=null; static FileOutputStream outOne=null; static ObjectOutputStream outTwo=null; public StudentManager() super("学生基本信息管理系统"); Jnumber=new JTextField(10); Jname =new JTextField(10); Jspecialty=new JTextField(10
6、); Jgrade=new JTextField(10); Jborth=new JTextField(10); group=new ButtonGroup(); boy=new JRadioButton("男",true); girl=new JRadioButton("女",false); group.add(boy); group.add(girl); Login=new JButton("录入"); select=new JButton("查询"); delete=new JButton("删除&
7、quot;); update=new JButton("修改"); show=new JButton("显示"); Login.addActionListener(new InputAct(); select.addActionListener(new InquestAct(); update.addActionListener(new ModifyAct(); delete.addActionListener(new DeleteAct(); show.addActionListener(new ShowAct(); update.setEnabled
8、(false); p1=new JPanel(); p1.add(new JLabel("学号:",JLabel.CENTER); p1.add(Jnumber); p2=new JPanel(); p2.add(new JLabel("姓名:",JLabel.CENTER); p2.add(Jname); p3=new JPanel(); p3.add(new JLabel("性别:",JLabel.CENTER); p3.add(boy); p3.add(girl); p4=new JPanel(); p4.add(new JLa
9、bel("专业:",JLabel.CENTER); p4.add(Jspecialty); p5=new JPanel(); p5.add(new JLabel("年级:",JLabel.CENTER); p5.add(Jgrade); p6=new JPanel(); p6.add(new JLabel("出生:",JLabel.CENTER); p6.add(Jborth); pv=new JPanel(); pv.setLayout(new GridLayout(6,1); pv.add(p1); pv.add(p2); pv.
10、add(p3); pv.add(p4); pv.add(p5); pv.add(p6); ph=new JPanel(); ph.add(Login); ph.add(select); ph.add(update); ph.add(delete); ph.add(show); file=new File("学生信息.txt"); Shashtable=new Hashtable(); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream object
11、Out=new ObjectOutputStream(out); objectOut.writeObject(Shashtable); objectOut.close(); out.close(); 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); setDefaultClo
12、seOperation(EXIT_ON_CLOSE); setBounds(100,100,600,300); setVisible(true); public static void main(String args) new StudentManager(); class InputAct implements ActionListener public void actionPerformed(ActionEvent e) update.setEnabled(false); String number="" number=Jnumber.getText(); if(n
13、umber.length()>0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); Shashtable=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee)System.out.println("创建散列表出现问题!"); if(Shashtable.containsKey(number) String warning="该生信息已存在,请到修改页面修改
14、!" JOptionPane.showMessageDialog(null,warning,"警告", JOptionPane.WARNING_MESSAGE); /end if1 else String m="该生信息将被录入!" int ok=JOptionPane.showConfirmDialog(null,m,"确认", JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String n
15、ame=Jname.getText(); String specialty=Jspecialty.getText(); String grade=Jgrade.getText(); String borth=Jborth.getText(); String sex=null; if(boy.isSelected()sex=boy.getText(); elsesex=girl.getText(); student=new Student(); student.setNumber(number); student.setName(name); student.setSpecialty(speci
16、alty); student.setGrade(grade); student.setBorth(borth); student.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); Shashtable.put(number,student); outTwo.writeObject(Shashtable); outTwo.close(); outOne.close(); catch(Exception ee)System.out.println("输出散列
17、表出现问题!"); Jnumber.setText(null); Jname.setText(null); Jspecialty.setText(null); Jgrade.setText(null); Jborth.setText(null); /end else1 /end if0 else String warning="必须输入学号!" JOptionPane.showMessageDialog(null,warning, "警告",JOptionPane.WARNING_MESSAGE); /end else0 /end action
18、Performed /end class class InquestAct implements ActionListener public void actionPerformed(ActionEvent e) String number="" number=Jnumber.getText(); if(number.length()>0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); Shashtable=(Hashtable)inTwo.readObject();
19、inOne.close(); inTwo.close(); catch(Exception ee)System.out.println("散列表有问题!"); if(Shashtable.containsKey(number) update.setEnabled(true); Student stu=(Student)Shashtable.get(number); Jname.setText(stu.getName(); Jspecialty.setText(stu.getSpecialty(); Jgrade.setText(stu.getGrade(); Jborth.
20、setText(stu.getBorth(); if(stu.getSex().equals("男")boy.setSelected(true); elsegirl.setSelected(true); else update.setEnabled(false); String warning="该学号不存在!" JOptionPane.showMessageDialog(null,warning, "警告",JOptionPane.WARNING_MESSAGE); else update.setEnabled(false); St
21、ring warning="必须输入学号!" JOptionPane.showMessageDialog(null,warning, "警告",JOptionPane.WARNING_MESSAGE); class ModifyAct implements ActionListener public void actionPerformed(ActionEvent e) String number=Jnumber.getText(); String name=Jname.getText(); String specialty=Jspecialty.get
22、Text(); String grade=Jgrade.getText(); String borth=Jborth.getText(); String sex=null; if(boy.isSelected()sex=boy.getText(); elsesex=girl.getText(); Student 学生=new Student(); 学生.setNumber(number); 学生.setName(name); 学生.setSpecialty(specialty); 学生.setGrade(grade); 学生.setBorth(borth); 学生.setSex(sex); t
23、ry outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); Shashtable.put(number, 学生); outTwo.writeObject(Shashtable); outTwo.close(); outOne.close(); Jnumber.setText(null); Jname.setText(null); Jspecialty.setText(null); Jgrade.setText(null); Jborth.setText(null); catch(Exception e
24、e) System.out.println("录入修改出现异常!"); update.setEnabled(false); class DeleteAct implements ActionListener public void actionPerformed(ActionEvent e) update.setEnabled(false); String number=Jnumber.getText(); if(number.length()>0) try inOne=new FileInputStream(file); inTwo=new ObjectInputS
25、tream(inOne); Shashtable=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(Shashtable.containsKey(number) Student stu=(Student)Shashtable.get(number); Jname.setText(stu.getName(); Jspecialty.setText(stu.getSpecialty(); Jgrade.setText(stu.getGrade(); Jborth.setText(s
26、tu.getBorth(); if(stu.getSex().equals("男")boy.setSelected(true); elsegirl.setSelected(true); String m="确定要删除该学生的记录吗?" int ok=JOptionPane.showConfirmDialog(null,m,"确认", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(ok=JOptionPane.YES_OPTION) Shashtable.remo
27、ve(number); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); outTwo.writeObject(Shashtable); outTwo.close(); outOne.close(); Jnumber.setText(null); Jname.setText(null); Jspecialty.setText(null); Jgrade.setText(null); Jborth.setText(null); catch(Exception ee)System.out.pr
28、intln(ee); else if(ok=JOptionPane.NO_OPTION) Jnumber.setText(null); Jname.setText(null); Jspecialty.setText(null); Jgrade.setText(null); Jborth.setText(null); else String warning="该学号不存在!" JOptionPane.showMessageDialog(null,warning, "警告",JOptionPane.WARNING_MESSAGE); else String
29、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 学生散列表= null; JTextArea 显示=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; File file=null; public StudentShow(File file) super(new JFrame(),"显示对话框&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设施农业病虫害防治专家岗位招聘考试试卷及答案
- 外卖店转让协议书范文
- 干挂石材操作规程
- 买卖已装修的房屋协议书
- 消防防排烟风道分包协议书
- 网易云私信协议书
- 电子类相关通信协议书
- 阳光采购平台入驻协议书
- 高速公路界面划分协议书
- 共享产权房买卖协议书范本
- 六一假前安全教育课件
- 2025年大学《刑事科学技术-文件检验技术》考试备考题库及答案解析
- 广州辅警笔试题库及答案
- 医院医用耗材入库出库管理流程
- 2025年细胞生物学细胞培养技术规范操作检测卷答案及解析
- 智能制造导论试题及答案
- 控制价造价咨询合同范本
- 四川筠连西南水泥窑协同处置一般固体废物(含替代燃料综合利用)项目环评报告
- 全国新闻记者职业资格考试(新闻基础知识)复习题库及答案
- s和m关系协议书
- GB/T 19405.3-2025表面安装技术第3部分:通孔回流焊用元器件规范的标准方法
评论
0/150
提交评论