学生信息管理系统Java

package xt;


import javax.swing.*;  
  
import java.awt.*;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.sql.*;  
  


public class Denglu extends JFrame implements ActionListener {  
  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        Denglu m=new Denglu();  
          
                          
    } 
    


    JButton jb1,jb2,jb3=null;  
    JRadioButton jrb1,jrb2=null;  
    JPanel jp1,jp2,jp3,jp4=null;  
    JTextField jtf=null;  
    JLabel jlb1,jlb2,jlb3=null;  
    JPasswordField jpf=null;  
    ButtonGroup bg=null;  
          
   
    static String userword;  
    static String pwd;  
      
    static Connection ct=null;  
    PreparedStatement ps=null;  
    ResultSet rs=null;  
      
 
    
    public Denglu()  
    {  
          
        jb1=new JButton("登录");  
        jb2=new JButton("重置");  
        jb3=new JButton("退出");  
       
        jb1.addActionListener(this);  
        jb2.addActionListener(this);  
        jb3.addActionListener(this);  
       
          
        jrb1=new JRadioButton("教师");  
        jrb2=new JRadioButton("学生");  
        bg=new ButtonGroup();  
        bg.add(jrb1);  
        bg.add(jrb2);  
        jrb2.setSelected(true);  
          
        jp1=new JPanel();  
        jp2=new JPanel();  
        jp3=new JPanel();  
        jp4=new JPanel();                 
          
        jlb1=new JLabel("用户名:");  
        jlb2=new JLabel("密    码:");  
        jlb3=new JLabel("权    限:");  
          
        jtf=new JTextField(10);  
        jpf=new JPasswordField(10);  
      
        jp1.add(jlb1);  
        jp1.add(jtf);  
          
        jp2.add(jlb2);  
        jp2.add(jpf);  
          
        jp3.add(jlb3);  
        jp3.add(jrb1);  
        jp3.add(jrb2);  
          
        jp4.add(jb1);  
        jp4.add(jb2);  
        jp4.add(jb3);  
          
      
        this.add(jp1);  
        this.add(jp2);  
        this.add(jp3);  
        this.add(jp4);  
       
        this.setLayout(new GridLayout(4,1));  
        
        this.setTitle("学生信息管理系统");  
     
        this.setSize(300,200);  
       
        this.setLocation(200, 150);  
  
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
   
        this.setVisible(true);  
        this.setResizable(true);  
          
    }  
    @Override  
    public void actionPerformed(ActionEvent e) {  
  
        if(e.getActionCommand()=="退出")  
        {  
            System.exit(0);  
        }else if(e.getActionCommand()=="登录")  
        {  
            //如果选中教师登录  
            if(jrb1.isSelected())  
            {  
             userword="zm";  
                  pwd="123"; 
  
              tealogin();
            }else if(jrb2.isSelected()) //学生在登录系统  
            {  
            
            
                  
                         userword="wy";  
                         pwd="456";  


                


                stulogin();  
            }  
              
        }else if(e.getActionCommand()=="重置")  
        {  
            clear();  
        }             
          
    }  
          
      
//清空文本框和密码框  
    public  void clear()  
        {  
            jtf.setText("");  
            jpf.setText("");  
        }  
//学生登录判断方法  
    public void stulogin()  
        {  
            if(userword.equals(jtf.getText())&&pwd.equals(jpf.getText()))  
            {  
//              System.out.println("登录成功");  
                JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);  
                clear();  
                //关闭当前界面  
                 dispose();  
                 //创建一个新界面  
                 Stu stu=new Stu();  
            }else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())  
             {  
                JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
             }else if(jtf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else  
            {  
                JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);  
                 //清空输入框  
                clear();  
                }  
            }  
              
    //教师登录判断方法  
    public void tealogin()  
        {  
            if(userword.equals(jtf.getText())&&pwd.equals(jpf.getText()))  
            {  
//              System.out.println("登录成功");  
                 JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);  
                 clear();     
                //关闭当前界面  
                 dispose();  
                 //创建一个新界面,适用于教师来管理学生  
                 Tea tea=new Tea();                                          
            }else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jtf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else  
            {  
                JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);  
                //清空输入框  
                clear();  
            }  
        }  
  
  
          

}  

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2.package xt;




import java.awt.Color;
import java.awt.Font;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.util.ArrayList;




import javax.swing.*;






class Tea extends JFrame {

public static void main(String[] args){
Tea tea=new Tea();
tea.setVisible(true);
}

static ArrayList<Student> as = new ArrayList<Student>();


JButton jb1,jb2,jb3,jb4,jb5,jb6=null;  
 JPanel jp1,jp2,jp3,jp4,jp5,jp6=null;  
 JLabel jlb1=null; 
 public  Tea(){
 
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jp4=new JPanel();
jp5=new JPanel();
jp6=new JPanel();


 
jb1=new JButton("添加信息");
jb2=new JButton("删除信息");
jb3=new JButton("查找信息");
jb5=new JButton("查看信息");
jb6=new JButton("退出系统");
jb1.setFont(new Font("华文中宋", Font.BOLD, 18));
jb2.setFont(new Font("华文中宋", Font.BOLD, 18));
jb3.setFont(new Font("华文中宋", Font.BOLD, 18));
jb5.setFont(new Font("华文中宋", Font.BOLD, 18));
jb6.setFont(new Font("华文中宋", Font.BOLD, 18));
 
jb1.setBorder(null);
jb2.setBorder(null);
jb3.setBorder(null);




jb5.setBorder(null);
jb6.setBorder(null);
 
jlb1=new JLabel("!!!欢迎使用学生信息管理系统!!!");
 jlb1.setHorizontalAlignment(SwingConstants.CENTER);
 jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));
jp1. add(jlb1);
 
 
jp2.add(jb1);
jp3.add(jb2);
jp4.add(jb3);
 




jp5.add(jb5);
jp6.add(jb6);
 




this.add(jp1);
this.add(jp2);
this.add(jp3);
this.add(jp4);
this.add(jp5);
this.add(jp6);
 
this.setLayout(new FlowLayout()); 
 
this.setTitle("学生信息管理系统");  
 
this.setSize(500,400);  
     
       this.setLocation(200, 150); 
       
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     


       this.setVisible(true);  
       this.setResizable(false);  
       



       jb1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="添加信息"){


addinfo_Menu ai=new addinfo_Menu();
ArrayList<Student>as=new ArrayList<Student>();
ai.infor(as);  


}
}
  });
       
       
       jb2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="删除信息"){


Delete_info di=new Delete_info();
di.delete_info();


}

       });
       
       jb3.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="查找信息"){


scaninfo si=new scaninfo();
si.Scaninfo();
}
}
         
         
       });
       
      
       
       jb5.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="查看信息"){


readinfo ri=new readinfo();
ri.Readinfo();
}
}
         
         
       });
       
       jb6.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="退出"){


dispose();
Denglu denglu=new Denglu();
}
}
         
         
       });
 }








public void addinfo(){


}


}

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

3.package xt;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;




import javax.swing.*;




 class addinfo_Menu extends JFrame implements ActionListener {
ArrayList<Student>as=new ArrayList<Student>();
JButton jb1,jb2,jb3,jb4=null;
JPanel  jp1,jp2,jp3,jp4,jp5,jp6,jp7=null;
JTextField jtf1,jtf2,jtf3,jtf4,jtf5=null;
JLabel jlb1,jlb2,jlb3,jlb4,jlb5,jlb6=null;
 
public void infor(final ArrayList<Student>as){






jb1=new JButton("保存");
jb2=new JButton("返回");
jb3=new JButton("继续添加");
jb4=new JButton("清除文件数据");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jb4.addActionListener(this);
jb1.setFont(new Font("华文中宋", Font.BOLD, 15));
jb2.setFont(new Font("华文中宋", Font.BOLD, 15));
jb3.setFont(new Font("华文中宋", Font.BOLD, 15));
jb4.setFont(new Font("华文中宋", Font.BOLD, 15));


jp1=new JPanel();  
    jp2=new JPanel();  
    jp3=new JPanel(); 
    jp4=new JPanel();
    jp5=new JPanel();
    jp6=new JPanel();
    jp7=new JPanel();








    
    
    
    jlb1=new JLabel("输入学生信息");  
    jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));
    jlb2=new JLabel("姓名:");  
    jlb3=new JLabel("性别:");  
    jlb4=new JLabel("年龄:");  
    jlb5=new JLabel("学号:");  
    jlb6=new JLabel("成绩:");  
    
    jlb1.setFont(new Font("华文行楷", Font.BOLD, 25));
    jlb2.setFont(new Font("华文行楷", Font.BOLD, 25));
    jlb3.setFont(new Font("华文行楷", Font.BOLD, 25));
    jlb4.setFont(new Font("华文行楷", Font.BOLD, 25));
    jlb5.setFont(new Font("华文行楷", Font.BOLD, 25));
    jlb6.setFont(new Font("华文行楷", Font.BOLD, 25));
    
jtf1=new JTextField(10);
jtf2=new JTextField(10);
jtf3=new JTextField(10);
jtf4=new JTextField(10);
jtf5=new JTextField(10);






jp1.add(jlb1);


jp2.add(jlb2);
jp2.add(jtf1);


jp3.add(jlb3);
jp3.add(jtf2);


jp4.add(jlb4);
jp4.add(jtf3);


jp5.add(jlb5);
jp5.add(jtf4);


jp6.add(jlb6);
jp6.add(jtf5);


jp7.add(jb1);
jp7.add(jb3);
jp7.add(jb4);
jp7.add(jb2);


this.add(jp1);  
    this.add(jp2);  
    this.add(jp3);  
    this.add(jp4);  
    this.add(jp5);  
    this.add(jp6); 
    this.add(jp7);  
  
    //设置布局管理器  
       this.setLayout(new GridLayout(7,1));  
       //给窗口设置标题
     this.setTitle("学生成绩管理系统"); 
     //设置窗体大小  
       this.setSize(500,400);  
       //设置窗体初始位置  
       this.setLocation(200, 150);  
       //显示窗体  
       this.setVisible(true);  
       this.setResizable(false);  
         
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub


if(e.getActionCommand()=="保存"){
try {
File stu_csv = new File("E://stu.txt");   
if(stu_csv.exists())    //
   stu_csv.delete();  
stu_csv.createNewFile();
   String stu_name,stu_gendar,stu_age,stu_number,stu_score;
   stu_name=jtf1.getText();
stu_gendar=jtf2.getText();
stu_age=jtf3.getText();
stu_number=jtf4.getText();
stu_score=jtf5.getText();
 
as.add(new Student(stu_name,stu_gendar,stu_age,stu_number,stu_score));


BufferedWriter bfw = new BufferedWriter(new FileWriter(stu_csv,true));
   //bfw.newLine();  
   for (Student stu : as) {  
    System.out.println(stu.name+","+stu.gendar+","+stu.age+","+stu.number+","+stu.score);
       bfw.write(stu.name+","+stu.gendar+","+stu.age+","+stu.number+","+stu.score+"\r\n");  
   }  
   bfw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}  
JOptionPane.showMessageDialog(null,"已保存姓名为:"+jtf1.getText()+"的信息","系统提示",JOptionPane.INFORMATION_MESSAGE); 
}else if(e.getActionCommand()=="继续添加"){
reset();
}else if(e.getActionCommand()=="清除文件数据"){
try {
File stu_csv = new File("E://stu.txt");  
if(stu_csv.exists())      
   stu_csv.delete();  
stu_csv.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}  


}else if(e.getActionCommand()=="返回"){
dispose();


}
}










public  void reset(){
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf4.setText("");
}








}  




 
 class Student{
String  name;
String gendar;
String number;
String age;
String score;
public Student(String name,String gendar,String age,String number,String score){
this.name=name;
this.gendar=gendar;
this.age=age;
this.number=number;                      
this.score=score;
}
 


 
 }

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

4.package xt;


import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;




import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
class Delete_info extends JFrame implements ActionListener{
JButton jb1,jb2,jb3,jb4,jb5;
JLabel jlb1,jlb2,jlb3,jlb4;
JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7,jp8;
JTextField jtf1;
public void delete_info(){
jp1=new JPanel();
jp2=new JPanel();
jp7=new JPanel();
jp8=new JPanel();








jb1=new JButton("按学号删除");
jb2=new JButton("按姓名删除");
jb5=new JButton("返回");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb5.addActionListener(this);
jb1.setBorder(null);
jb2.setBorder(null);
jb5.setBorder(null);
jb1.setFont(new Font("华文中宋", Font.BOLD, 20));
jb2.setFont(new Font("华文中宋", Font.BOLD, 20));
jb5.setFont(new Font("华文中宋", Font.BOLD, 15));




jlb1=new JLabel("删除信息");  
jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));


    jp1.add(jlb1);
    
    jp2.add(jb1);
    jp8.add(jb2);
    
    jp7.add(jb5);
    
    this.add(jp1);
    this.add(jp2);
    this.add(jp8);
    this.add(jp7);
    
    this.setLayout(new GridLayout(4,1));
    this.setTitle("删除");
    this.setSize(500,400);
    this.setLocation(200,150);
    this.setVisible(true);
    this.setResizable(false);




}
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
if(e.getActionCommand()=="按学号删除"){
Delete_Number dn=new Delete_Number();
dn.delete_number();
}else if(e.getActionCommand()=="按姓名删除"){


Delete_Name dne=new Delete_Name();
dne.delete_name();
}else if(e.getActionCommand()=="返回"){


dispose();
}
}








}


class Delete_Number extends JFrame implements ActionListener{
JButton jb1,jb2;
JPanel jp1,jp2,jp3,jp4,jp5;
JTextField jtf1;
JLabel jlb1,jlb2,jlb3;
ArrayList<Student3> as3 = new ArrayList<Student3>();
BufferedWriter bfw;
public void delete_number(){
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jp4=new JPanel();




jb1=new JButton("删除");
jb2=new JButton("返回");
jb1.addActionListener(this);
jb2.addActionListener(this);


jb1.setBorder(null);
jb2.setBorder(null);
jb1.setFont(new Font("华文中宋", Font.BOLD, 20));
jb2.setFont(new Font("华文中宋", Font.BOLD, 20));




jtf1=new JTextField(10);




jlb1=new JLabel("删除信息");  
jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));


   
   jlb2=new JLabel("请输入学号:");
   jlb2.setFont(new Font("华文行楷", Font.BOLD, 20));
   
   jp1.add(jlb1);
   
   jp2.add(jlb2);
   jp2.add(jtf1);
   jp2.add(jb1);
     
   jp3.add(jb2);
   
   this.add(jp1);
   this.add(jp2);
   this.add(jp3);




   
   this.setLayout(new GridLayout(3,1));
   this.setTitle("删除");
   this.setSize(500,400);
   this.setLocation(200,150);
   this.setVisible(true);
   this.setResizable(false);
   
   try {
File csv = new File("E://stu.txt"); // CSV文件  
BufferedReader br = new BufferedReader(new FileReader(csv)); 
//读取直到最后一行   
String line = "";
while ((line = br.readLine()) != null) {   
   // 把一行数据分割成多个字段   
   StringTokenizer st1 = new StringTokenizer(line, ",");  
   Student3 st2= new Student3(st1.nextToken(),st1.nextToken(),st1.nextToken(),st1.nextToken(),st1.nextToken());  
   as3.add(st2);  
  
}   
br.close();
} catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
boolean flag=false;
if(e.getActionCommand()=="删除"){
if(jtf1.getText().isEmpty())  
      {  
          JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);  
      }
for(Student3 student :as3){
if(student.number.equals(jtf1.getText())){
as3.remove(student);
File txt = new File("E://stu.txt"); // CSV文件  
txt.delete();  
try {
txt.createNewFile();
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();



flag=true;
break;
}
}




if(flag){  
try {
File txt = new File("E://stu.txt");
bfw = new BufferedWriter(new FileWriter(txt,true));


for(Student3 student1 :as3){
bfw.write(student1.name+","+student1.gendar+","+student1.age+","+student1.number+","+student1.score+"\r\n");


System.out.println(student1.name+","+student1.gendar+","+student1.age+","+student1.number+","+student1.score);
}
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();

JOptionPane.showMessageDialog(null,"已删除学号为:"+jtf1.getText()+"的学生信息","系统提示",JOptionPane.INFORMATION_MESSAGE);




try {
bfw.close();
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}else{
JOptionPane.showMessageDialog(null,"无学号为:"+jtf1.getText()+"的信息!","提示消息",JOptionPane.WARNING_MESSAGE);









}else if(e.getActionCommand()=="返回"){
dispose();
}


}






}








//--------------------------按姓名删除菜单----------------、




class Delete_Name extends JFrame implements ActionListener{
JButton jb1,jb2;
JPanel jp1,jp2,jp3,jp4,jp5;
JTextField jtf1;
JLabel jlb1,jlb2,jlb3;
ArrayList<Student3> as3 = new ArrayList<Student3>();
BufferedWriter bfw;
public void delete_name(){
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jp4=new JPanel();




jb1=new JButton("删除");
jb2=new JButton("返回");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb1.setFont(new Font("华文中宋", Font.BOLD, 20));
jb2.setFont(new Font("华文中宋", Font.BOLD, 20));




jb1.setBorder(null);
jb2.setBorder(null);






jtf1=new JTextField(10);




jlb1=new JLabel("删除信息");  
   jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));


   
   jlb2=new JLabel("请输入姓名:");
   jlb2.setFont(new Font("华文行楷", Font.BOLD, 20));
   
   jp1.add(jlb1);
   
   jp2.add(jlb2);
   jp2.add(jtf1);
   jp2.add(jb1);
     
   jp3.add(jb2);
   
   this.add(jp1);
   this.add(jp2);
   this.add(jp3);




   
   this.setLayout(new GridLayout(3,1));
   this.setTitle("删除");
   this.setSize(500,400);
   this.setLocation(200,150);
   this.setVisible(true);
   this.setResizable(false);
   
   try {
File csv = new File("E://stu.txt"); // CSV文件  
BufferedReader br = new BufferedReader(new FileReader(csv)); 
//读取直到最后一行   
String line = "";
while ((line = br.readLine()) != null) {   
   // 把一行数据分割成多个字段   
   StringTokenizer st1 = new StringTokenizer(line, ",");  
   Student3 st2= new Student3(st1.nextToken(),st1.nextToken(),st1.nextToken(),st1.nextToken(),st1.nextToken());  
   as3.add(st2);  
  
}   
br.close();
} catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
boolean flag=false;
if(e.getActionCommand()=="删除"){
if(jtf1.getText().isEmpty())  
      {  
          JOptionPane.showMessageDialog(null,"请输入姓名!","提示消息",JOptionPane.WARNING_MESSAGE);  
      }
for(Student3 student :as3){
if(student.name.equals(jtf1.getText())){
as3.remove(student);
File txt = new File("E://stu.txt"); // CSV文件  
txt.delete();  
try {
txt.createNewFile();
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();

jtf1.setText("");
flag=true;
break;
}
}




if(flag){  
try {
File txt = new File("E://stu.txt");
bfw = new BufferedWriter(new FileWriter(txt,true));


for(Student3 student1 :as3){
bfw.write(student1.name+","+student1.gendar+","+student1.age+","+student1.number+","+student1.score+"\r\n");


System.out.println(student1.name+","+student1.gendar+","+student1.age+","+student1.number+","+student1.score);
}
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();

JOptionPane.showMessageDialog(null,"已删除姓名为:"+jtf1.getText()+"的学生信息","系统提示",JOptionPane.INFORMATION_MESSAGE);




try {
bfw.close();
} catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}else{
JOptionPane.showMessageDialog(null,"无姓名为:"+jtf1.getText()+"的信息!","提示消息",JOptionPane.WARNING_MESSAGE);









}else if(e.getActionCommand()=="返回"){
dispose();
}


}






}










class Student3{
String  name;
String gendar;
String number;
String age;
String score;
public Student3(String name,String gendar,String age,String number,String score){
this.name=name;
this.gendar=gendar;
this.age=age;
this.number=number;                      
this.score=score;
}
}


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

5.package xt;


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;




import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;


class scaninfo extends JFrame implements ActionListener {
JButton jb1,jb2,jb5;
JLabel jlb1,jlb2,jlb3,jlb4;
JPanel jp1,jp2,jp7,jp8;


public void  Scaninfo(){
jp1=new JPanel();
jp2=new JPanel();
jp7=new JPanel();
jp8=new JPanel();


 
jb1=new JButton("按学号查找");
jb2=new JButton("按姓名查找");
jb5=new JButton("返回");
jb1.setFont(new Font("华文中宋", Font.BOLD, 20));
jb2.setFont(new Font("华文中宋", Font.BOLD, 20));
jb5.setFont(new Font("华文中宋", Font.BOLD, 15));
jb1.addActionListener(this);
jb2.addActionListener(this);
jb5.addActionListener(this);
jb1.setBorder(null);
jb2.setBorder(null);
jb5.setBorder(null);


jlb1=new JLabel("查找信息");  
jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));


    jp1.add(jlb1);
    
    jp2.add(jb1);
    jp8.add(jb2);
    
    jp7.add(jb5);
    
    this.add(jp1);
    this.add(jp2);
    this.add(jp8);
    this.add(jp7);
    
    this.setLayout(new GridLayout(4,1));
    this.setTitle("查询");
    this.setSize(500,400);
    this.setLocation(200,150);
    this.setVisible(true);
    this.setResizable(false);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="按学号查找"){
Lookup_number look_n=new Lookup_number();
look_n.lookup_number();
}else if(e.getActionCommand()=="按姓名查找"){
Lookup_name look_ne=new Lookup_name();
look_ne.lookup_name();


}else if(e.getActionCommand()=="返回"){
dispose();
}
}
}




//---------------按学号查询界面---------------- 
class Lookup_number extends JFrame implements ActionListener{
JButton jb1,jb2;
JPanel jp1,jp2,jp3,jp4,jp5;
JTextField jtf1;
JLabel jlb1,jlb2,jlb3;
JTable jtb;
ArrayList<Student2> as2 = new ArrayList<Student2>();




String col[]={"姓名","性别","年龄","学号","成绩"}; 
final DefaultTableModel tableModel = new DefaultTableModel(col, 0); 
public void lookup_number(){


jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jp4=new JPanel();


 
JTableHeader tableH; 
JTable table = new JTable(tableModel);  
 table.setEnabled(false);  
 table.setBackground(new Color(144,238,144));  
          table.setForeground(new Color(100,100,100)) ;  
          table.setGridColor(new Color(105 ,105, 105));  
          tableH = table.getTableHeader();  
       
          tableH.setBackground(new Color(200, 200, 200));  
          
      
          tableH.setForeground(new Color(0,0,205));  
JScrollPane pane = new JScrollPane(table); 


 
jb1=new JButton("查询");
jb2=new JButton("返回");
jb1.setFont(new Font("华文中宋", Font.BOLD, 18));
jb2.setFont(new Font("华文中宋", Font.BOLD, 18));
jb1.addActionListener(this);
jb2.addActionListener(this);
jb1.setBorder(null);
jb2.setBorder(null);


jtf1=new JTextField(10);


jlb1=new JLabel("按学号查询信息");
jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));


jlb2=new JLabel("请输入学号:");
jlb2.setFont(new Font("华文行楷", Font.BOLD, 20));
jlb3=new JLabel("查询信息如下");
jlb2.setFont(new Font("华文行楷", Font.BOLD, 25));




jp1.add(jlb1);


jp2.add(jlb2);
jp2.add(jtf1);
jp2.add(jb1);


jp3.add(jlb3);
jp4.add(jb2);


this.add(jp1);
this.add(jp2);
this.add(jp3);
this.add(pane);
this.add(jp4);








this.setLayout(new GridLayout(5,1));  
       //给窗口设置标题
     this.setTitle("查询结果"); 
     //设置窗体大小  
       this.setSize(500,400);  
       //设置窗体初始位置  
       this.setLocation(200, 150);           
       //显示窗体  
       this.setVisible(true);  
       this.setResizable(false);  
       
       try {
File csv = new File("E://stu.txt"); // CSV文件  
BufferedReader br = new BufferedReader(new FileReader(csv)); 
// 读取直到最后一行   
String line = "";
while ((line = br.readLine()) != null) {   
    // 把一行数据分割成多个字段   
    StringTokenizer st = new StringTokenizer(line, ",");  
    Student2 st1= new Student2(st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken());  
    as2.add(st1);  
   
}   
br.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
       


}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="查询"){
boolean flag=true;
tableModel.setRowCount(0); // 之前的table一定要清零!  
    
             for (Student2 student : as2) {  
               
                 System.out.println(student.name+student.gendar+student.age+student.number+student.score);  
                 if(student.number.equals(jtf1.getText())){
                 Object [] data1 ={student.name,student.gendar,student.age,student.number,student.score};  
                 tableModel.addRow(data1);  
                 flag=false;
                 JOptionPane.showMessageDialog(null,"已查询到学号为:"+jtf1.getText()+"的学生信息","系统提示",JOptionPane.INFORMATION_MESSAGE);
                 }
                 
             }  
             if(flag){
            JOptionPane.showMessageDialog(null,"无学号为:"+jtf1.getText()+"的学生信息","系统提示",JOptionPane.INFORMATION_MESSAGE);
             }
}else if(e.getActionCommand()=="返回"){
dispose();


}
}




}








//------------------按姓名查找界面------------------------




class Lookup_name extends JFrame implements ActionListener{
JButton jb1,jb2;
JPanel jp1,jp2,jp3,jp4,jp5;
JTextField jtf1;
JLabel jlb1,jlb2,jlb3;
JTable jtb;
ArrayList<Student2> as2 = new ArrayList<Student2>();




String col[]={"姓名","性别","年龄","学号","成绩"}; 
final DefaultTableModel tableModel = new DefaultTableModel(col, 0); 
public void lookup_name(){


jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jp4=new JPanel();


JTableHeader tableH; 
JTable table = new JTable(tableModel);  
 table.setEnabled(false);  


 
 table.setEnabled(false);  
 table.setBackground(new Color(144,238,144));  
          table.setForeground(new Color(100,100,100)) ;  
          table.setGridColor(new Color(105 ,105, 105));  
          tableH = table.getTableHeader();  
          //设置表头的背景色  
          tableH.setBackground(new Color(200, 200, 200));  
          //设置表头的文字颜色  
          
          tableH.setForeground(new Color(0,0,205));  
JScrollPane pane = new JScrollPane(table); 
 
jb1=new JButton("查询");
jb2=new JButton("返回");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb1.setBorder(null);
jb2.setBorder(null);


jtf1=new JTextField(10);


jlb1=new JLabel("按姓名查询信息");
jlb1.setFont(new Font("华文行楷", Font.BOLD, 30));


jlb2=new JLabel("请输入姓名:");
jlb2.setFont(new Font("华文行楷", Font.BOLD, 20));
jlb3=new JLabel("查询信息如下");
jlb3.setFont(new Font("华文行楷", Font.BOLD, 25));
jp1.add(jlb1);


jp2.add(jlb2);
jp2.add(jtf1);
jp2.add(jb1);


jp3.add(jlb3);
jp4.add(jb2);


this.add(jp1);
this.add(jp2);
this.add(jp3);
this.add(pane);
this.add(jp4);








this.setLayout(new GridLayout(5,1));  
        
     this.setTitle("查询结果"); 
    
       this.setSize(500,400);  
       
       this.setLocation(200, 150);           
     
       this.setVisible(true);  
       this.setResizable(false);  
       
       try {
File txt = new File("E://stu.txt");   
BufferedReader br = new BufferedReader(new FileReader(txt)); 
  
String line = "";
while ((line = br.readLine()) != null) {   
  
    StringTokenizer st = new StringTokenizer(line, ",");  
    Student2 st1= new Student2(st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken());  
    as2.add(st1);  
   
}   
br.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
       


}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="查询"){


tableModel.setRowCount(0);   
    boolean flag=true;
             for (Student2 student : as2) {  
               
                 System.out.println(student.name+student.gendar+student.age+student.number+student.score);  
                 if(student.name.equals(jtf1.getText())){
                 Object [] data1 ={student.name,student.gendar,student.age,student.number,student.score};  
                 tableModel.addRow(data1);  
                 JOptionPane.showMessageDialog(null,"已查询到姓名为:"+jtf1.getText()+"的学生信息","系统提示",JOptionPane.INFORMATION_MESSAGE);
                 flag=false;
                 }
                
             }  
             if(flag){
            JOptionPane.showMessageDialog(null,"无姓名为:"+jtf1.getText()+"的学生信息","系统提示",JOptionPane.INFORMATION_MESSAGE);
             }
            
}else if(e.getActionCommand()=="返回"){
dispose();


}
}




}




class Student2{
String  name;
String gendar;
String number;
String age;
String score;
public Student2(String name,String gendar,String age,String number,String score){
this.name=name;
this.gendar=gendar;
this.age=age;
this.number=number;                      
this.score=score;
}
}

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

6.package xt;


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;




import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
















 class readinfo extends JFrame implements ActionListener {
JLabel jlb;
JButton jb1;
JPanel jp1,jp2;
public void Readinfo(){
jp1=new JPanel();
jp2=new JPanel();




jb1=new JButton("返回");
jb1.addActionListener(this);
jb1.setFont(new Font("华文中宋", Font.BOLD, 18));
jb1.setBorder(null);


jlb=new JLabel("所有信息如下");
jlb.setFont(new Font("华文行楷", Font.BOLD, 30));


JTableHeader tableH; 
String col[]={"姓名","性别","年龄","学号","成绩"};  
       final DefaultTableModel tableModel = new DefaultTableModel(col, 0);  
     JTable table = new JTable(tableModel);  
     table.setEnabled(false);  
       JScrollPane pane = new JScrollPane(table); 
       pane.setBackground(Color.cyan);
       
       jp1.add(jlb);
      jp2.add(jb1);


ArrayList<Student1> as1 = new ArrayList<Student1>();
try {
File csv = new File("E://stu.txt"); // CSV文件  
 
BufferedReader br = new BufferedReader(new FileReader(csv));  




  
String line = "";   
while ((line = br.readLine()) != null) {   
       
    StringTokenizer st = new StringTokenizer(line, ",");  
    Student1 st1= new Student1(st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken(),st.nextToken());  
    as1.add(st1);  
   
}   
br.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  
this.add(jp1);
this.add(pane);
this.add(jp2);
 


   this.setBackground(Color.cyan);
   this.setLayout(new GridLayout(3,1));
     this.setTitle("显示信息"); 
      
      this.setSize(500,400);  
        
      this.setLocation(200, 150);  
      this.setVisible(true); 
     this.setResizable(false);  
     
       table.setBackground(new Color(144,238,144));  
          table.setForeground(new Color(100,100,100)) ;  
          table.setGridColor(new Color(105 ,105, 105));  
          tableH = table.getTableHeader();  
        
          tableH.setBackground(new Color(200, 200, 200));  


          
          tableH.setForeground(new Color(0,0,205));  
       for (Student1 stu : as1) {  
           Object [] data ={stu.name,stu.gendar,stu.age,stu.number,stu.score};  
           tableModel.addRow(data);  
       }  
       tableModel.fireTableDataChanged();  
        RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tableModel);  
        table.setRowSorter(sorter);  
        this.getContentPane().add(pane, BorderLayout.CENTER);  
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="返回"){
dispose();
}
}  
 }


 
 class Student1{
String  name;
String gendar;
String number;
String age;
String score;
public Student1(String name,String gendar,String age,String number,String score){
this.name=name;
this.gendar=gendar;
this.age=age;
this.number=number;                      
this.score=score;
}
}
 



 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值