简单学生信息管理系统Swing版.docx
《简单学生信息管理系统Swing版.docx》由会员分享,可在线阅读,更多相关《简单学生信息管理系统Swing版.docx(16页珍藏版)》请在冰点文库上搜索。
![简单学生信息管理系统Swing版.docx](https://file1.bingdoc.com/fileroot1/2023-6/3/dde9472e-8f38-425a-ac21-1cadce0e9ad5/dde9472e-8f38-425a-ac21-1cadce0e9ad51.gif)
简单学生信息管理系统Swing版
实验七综合性程序设计
——简单学生信息管理系统(Swing版)
实验日期_____年_____月_____日班级:
学号:
姓名:
成绩:
一、实验目的:
(1)熟悉Swing的常用组件,掌握java的事件处理机制。
(2)综合运用Swing的IO的知识。
二、实验内容:
编写能够满足如下条件的程序(分两次4个课时完成)。
(1)利用文件来存储用户名、密码,实现一个登录验证的程序,验证用户输入的用户名、密码是否正确,正确显示学生信息浏览主窗口,不正确弹出对话框提示错误,并要求用户重新输入。
(2)在主窗口上有一个菜单,菜单项有“新建”、“浏览”。
(3)在“新建学生信息”窗口中,输入实验VI学生类中的ID、NAME、MATH、JAVA信息。
单击保存按钮,用文件存储学生信息。
(4)在“浏览学生信息”窗口中,用前一个、后一个浏览所有学生信息。
(5)(选做)增加修改按钮,修改学生信息,并保存在文件中;增加删除按钮,删除当前学生信息。
源程序:
package学生信息管理系统;
importjava.io.*;
importjava.util.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.event.*;
publicclassStudentextendsJFrame{
JMenuBarjmb;
JMenujm;
JMenuItemjmi1,jmi2;
JPaneljp1,jp2,jp3;
JButtonjb1,jb2,jb3,jb4,enter;
JLabeljl1,jl2,jl3,jl4,jl5,user,password;
JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5;
finalContainerc=getContentPane();;
publicStudent(){
setVisible(true);
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
jl1=newJLabel("ID");
jl2=newJLabel("NAME");
jl3=newJLabel("OS");
jl4=newJLabel("MATH");
jl5=newJLabel("JAVA");
user=newJLabel("用户名");
password=newJLabel("密码");
jtf1=newJTextField(15);
jtf2=newJTextField(15);
jtf3=newJTextField(15);
jtf4=newJTextField(15);
jtf5=newJTextField(15);
jb1=newJButton("保存");
jb2=newJButton("重置");
jb3=newJButton("前一个");
jb4=newJButton("后一个");
enter=newJButton("登陆");
jmi1=newJMenuItem("新建");
jmi2=newJMenuItem("浏览");
jm=newJMenu("操作");
}
voidlunch(){
c.setLayout(newGridLayout(3,1));
c.setVisible(true);
jp1.add(user);
jp1.add(jtf1);
jp2.add(password);
jp2.add(jtf2);
jp3.add(enter);
c.add(jp1);
c.add(jp2);
c.add(jp3);
setSize(400,300);
enter.addActionListener(newLis());
jmi1.addActionListener(newNewListener());
jb1.addActionListener(newSaveListener());
jmi2.addActionListener(newOverLook());
jb2.addActionListener(newResetListener());
jb3.addActionListener(newPreListener());
jb4.addActionListener(newNextListener());
}
classLisimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
Strings1=jtf1.getText();
Strings2=jtf2.getText();
if(s1.equals("Mike")&&s2.equals("526")){
JOptionPane.showMessageDialog(null,"欢迎进入","提示!
",JOptionPane.INFORMATION_MESSAGE);
c.removeAll();
jmb=newJMenuBar();
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);
}
}
}
classNewListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
c.removeAll();
c.setLayout(newGridLayout(1,1));
GridLayoutgl=newGridLayout(6,2,0,0);
JPanelpanel=newJPanel();
panel.setLayout(gl);
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(jb1);
panel.add(jb2);
c.add(panel);
setVisible(true);
}
}
classOverLookimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
c.removeAll();
c.setLayout(newGridLayout(1,1));
GridLayoutgl=newGridLayout(6,2,0,0);
JPanelpanel=newJPanel();
panel.setLayout(gl);
BufferedReaderin=null;
Stringid=null,name=null,os=null,math=null,java=null;
try{
in=newBufferedReader(newFileReader(newFile("f:
\\1.txt")));
id=in.readLine();
name=in.readLine();
os=in.readLine();
math=in.readLine();
java=in.readLine();
}catch(Exceptione1){
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(jtf4);
panel.add(jl5);
panel.add(jtf5);
panel.add(jb3);
panel.add(jb4);
c.add(panel);
setVisible(true);
}
}
classSaveListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
Filetemp=null;
PrintStreamp=null;
try{
if(newFile("f:
\\"+jtf1.getText()+".txt").createNewFile()){
temp=newFile("f:
\\"+jtf1.getText()+".txt");
}else{
System.exit(0);
}
p=newPrintStream(temp);
p.println(jtf1.getText());
p.println(jtf2.getText());
p.println(jtf3.getText());
p.println(jtf4.getText());
p.println(jtf5.getText());
}catch(IOExceptionex){
System.out.println("ERROR");
}
p.close();
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf4.setText("");
jtf5.setText("");
}
}
classResetListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf4.setText("");
jtf5.setText("");
}
}
classPreListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
Stringid=null,name=null,os=null,math=null,java=null;
try{
id=jtf1.getText();
intintId=Integer.parseInt(id);
id=(intId-1)+"";
System.out.println(id);
FilenextFile=newFile("f:
\\"+id+".txt");
if(nextFile.exists()){
BufferedReaderin=newBufferedReader(newFileReader(newFile("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(newGridLayout(1,1));
GridLayoutgl=newGridLayout(6,2,0,0);
JPanelpanel=newJPanel();
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);
panel.add(jb3);
panel.add(jb4);
c.add(panel);
setVisible(true);
}else{
System.out.println("你访问的数据不存在!
");
}
}catch(Exceptione2){
e2.printStackTrace();
}
}
}
classNextListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
Stringid=null,name=null,os=null,math=null,java=null;
try{
id=jtf1.getText();
intintId=Integer.parseInt(id);
id=(intId+1)+"";
System.out.println(id);
FilenextFile=newFile("f:
\\"+id+".txt");
if(nextFile.exists()){
BufferedReaderin=newBufferedReader(newFileReader(newFile("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(newGridLayout(1,1));
GridLayoutgl=newGridLayout(6,2,0,0);
JPanelpanel=newJPanel();
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);
panel.add(jb3);
panel.add(jb4);
c.add(panel);
setVisible(true);
}else{
System.out.println("你访问的数据不存在!
");
}
}catch(Exceptione2){
e2.printStackTrace();
}
}
}
publicstaticvoidmain(String[]args){
Studentstu=newStudent();
stu.lunch();
}
}
截图:
总结: