1、简单学生信息管理系统Swing版实验七 综合性程序设计 简单学生信息管理系统(Swing版) 实验日期 _年 _ 月_ 日 班级: 学号: 姓名: 成绩: 一、 实验目的:(1) 熟悉Swing的常用组件,掌握java的事件处理机制。(2) 综合运用Swing的IO的知识。二、 实验内容:编写能够满足如下条件的程序(分两次4个课时完成)。(1) 利用文件来存储用户名、密码,实现一个登录验证的程序,验证用户输入的用户名、密码是否正确,正确显示学生信息浏览主窗口,不正确弹出对话框提示错误,并要求用户重新输入。(2) 在主窗口上有一个菜单,菜单项有“新建”、“浏览”。(3) 在“新建学生信息”窗口中
2、,输入实验VI学生类中的ID、NAME、MATH、JAVA信息。单击保存按钮,用文件存储学生信息。(4) 在“浏览学生信息”窗口中,用前一个、后一个浏览所有学生信息。(5) (选做)增加修改按钮,修改学生信息,并保存在文件中;增加删除按钮,删除当前学生信息。源程序:package 学生信息管理系统;import java.io.*;import java.util.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.event.*;public class Student ext
3、ends JFrame JMenuBar jmb; JMenu jm; JMenuItem jmi1,jmi2; JPanel jp1,jp2,jp3; JButton jb1,jb2,jb3,jb4,enter; JLabel jl1,jl2,jl3,jl4,jl5,user,password; JTextField jtf1,jtf2,jtf3,jtf4,jtf5; final Container c =getContentPane(); public Student() setVisible(true); jp1=new JPanel(); jp2=new JPanel(); jp3=n
4、ew JPanel(); jl1=new JLabel(ID); jl2=new JLabel(NAME); jl3=new JLabel(OS); jl4=new JLabel(MATH); jl5=new JLabel(JAVA); user=new JLabel(用户名); password=new JLabel(密码); jtf1=new JTextField(15); jtf2=new JTextField(15); jtf3=new JTextField(15); jtf4=new JTextField(15); jtf5=new JTextField(15); jb1=new J
5、Button(保存); jb2=new JButton(重置); jb3=new JButton(前一个); jb4=new JButton(后一个); enter=new JButton(登陆); jmi1=new JMenuItem(新建); jmi2=new JMenuItem(浏览); jm = new JMenu(操作); void lunch() c.setLayout(new GridLayout(3,1); c.setVisible(true); jp1.add(user); jp1.add(jtf1); jp2.add(password); jp2.add(jtf2); jp
6、3.add(enter); c.add(jp1); c.add(jp2); c.add(jp3); setSize(400, 300); enter.addActionListener(new Lis(); jmi1.addActionListener(new NewListener(); jb1.addActionListener(new SaveListener(); jmi2.addActionListener(new OverLook(); jb2.addActionListener(new ResetListener(); jb3.addActionListener(new PreL
7、istener(); jb4.addActionListener(new NextListener(); class Lis implements ActionListener Override public void actionPerformed(ActionEvent e) String s1=jtf1.getText(); String s2=jtf2.getText(); if(s1.equals(Mike)&s2.equals(526) JOptionPane.showMessageDialog(null,欢迎进入,提示!,JOptionPane.INFORMATION_MESSA
8、GE); c.removeAll(); jmb = new JMenuBar(); setJMenuBar(jmb); jmb.add(jm); jm.add(jmi1); jm.addSeparator(); jm.add(jmi2); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); else JOptionPane.showMessageDialog(null,用户名或密码错误,请重新出入,错误提示!,JOptionPane.ERROR_MESSAGE); class NewListener impleme
9、nts ActionListener Override public void actionPerformed(ActionEvent e) c.removeAll(); c.setLayout(new GridLayout(1,1); GridLayout gl=new GridLayout(6,2,0,0); JPanel panel = new JPanel(); panel.setLayout(gl); panel.add(jl1); panel.add(jtf1); panel.add(jl2); panel.add(jtf2); panel.add(jl3); panel.add(
10、jtf3); panel.add(jl4); panel.add(jtf4); panel.add(jl5); panel.add(jtf5); panel.add(jb1); panel.add(jb2); c.add(panel); setVisible(true); class OverLook implements ActionListener Override public void actionPerformed(ActionEvent e) c.removeAll(); c.setLayout(new GridLayout(1,1); GridLayout gl=new Grid
11、Layout(6,2,0,0); JPanel panel = new JPanel(); panel.setLayout(gl); BufferedReader in = null; String id = null , name = null, os = null , math = null , java = null ; try in=new BufferedReader(new FileReader(new File(f:1.txt); id = in.readLine(); name = in.readLine(); os = in.readLine(); math = in.rea
12、dLine(); java = in.readLine(); catch (Exception e1) System.out.println(ERROR); jtf1.setText(id); jtf2.setText(name); jtf3.setText(os); jtf4.setText(math); jtf5.setText(java); panel.add(jl1); panel.add(jtf1); panel.add(jl2); panel.add(jtf2); panel.add(jl3); panel.add(jtf3); panel.add(jl4); panel.add(
13、jtf4); panel.add(jl5); panel.add(jtf5); panel.add(jb3); panel.add(jb4); c.add(panel); setVisible(true); class SaveListener implements ActionListener Override public void actionPerformed(ActionEvent e) File temp = null; PrintStream p = null; try if(new File(f: + jtf1.getText() + .txt).createNewFile()
14、 temp = new File(f: + jtf1.getText() + .txt); else System.exit(0); p = new PrintStream(temp); p.println(jtf1.getText(); p.println(jtf2.getText(); p.println(jtf3.getText(); p.println(jtf4.getText(); p.println(jtf5.getText(); catch(IOException ex) System.out.println(ERROR); p.close(); jtf1.setText();
15、jtf2.setText(); jtf3.setText(); jtf4.setText(); jtf5.setText(); class ResetListener implements ActionListener Override public void actionPerformed(ActionEvent e) jtf1.setText(); jtf2.setText(); jtf3.setText(); jtf4.setText(); jtf5.setText(); class PreListener implements ActionListener Override publi
16、c void actionPerformed(ActionEvent e) String id = null , name = null, os = null , math = null , java = null ; try id = jtf1.getText(); int intId = Integer.parseInt(id); id = (intId - 1) + ; System.out.println(id); File nextFile = new File(f: +id + .txt); if(nextFile.exists() BufferedReader in = new
17、BufferedReader(new FileReader(new File(f: +id + .txt); id = in.readLine(); name = in.readLine(); os = in.readLine(); math = in.readLine(); java = in.readLine(); System.out.println(id); /重新画container c.removeAll(); c.setLayout(new GridLayout(1,1); GridLayout gl=new GridLayout(6,2,0,0); JPanel panel =
18、 new JPanel(); panel.setLayout(gl); jtf1.setText(id); jtf2.setText(name); jtf3.setText(os); jtf4.setText(math); jtf5.setText(java); panel.add(jl1); panel.add(jtf1); panel.add(jl2); panel.add(jtf2); panel.add(jl3); panel.add(jtf3); panel.add(jl4); panel.add(jtf4); panel.add(jl5); panel.add(jtf5); pan
19、el.add(jb3); panel.add(jb4); c.add(panel); setVisible(true); else System.out.println(你访问的数据不存在!); catch(Exception e2) e2.printStackTrace(); class NextListener implements ActionListener Override public void actionPerformed(ActionEvent e) String id = null , name = null, os = null , math = null , java
20、= null ; try id = jtf1.getText(); int intId = Integer.parseInt(id); id = (intId + 1) + ; System.out.println(id); File nextFile = new File(f: +id + .txt); if(nextFile.exists() BufferedReader in = new BufferedReader(new FileReader(new File(f: +id + .txt); id = in.readLine(); name = in.readLine(); os =
21、 in.readLine(); math = in.readLine(); java = in.readLine(); System.out.println(id); /重新画container c.removeAll(); c.setLayout(new GridLayout(1,1); GridLayout gl=new GridLayout(6,2,0,0); JPanel panel = new JPanel(); panel.setLayout(gl); jtf1.setText(id); jtf2.setText(name); jtf3.setText(os); jtf4.setT
22、ext(math); jtf5.setText(java); panel.add(jl1); panel.add(jtf1); panel.add(jl2); panel.add(jtf2); panel.add(jl3); panel.add(jtf3); panel.add(jl4); panel.add(jtf4); panel.add(jl5); panel.add(jtf5); panel.add(jb3); panel.add(jb4); c.add(panel); setVisible(true); else System.out.println(你访问的数据不存在!); catch(Exception e2) e2.printStackTrace(); public static void main(String args) Student stu= new Student(); stu.lunch(); 截图:总结:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1