精华内容
下载资源
问答
  • JAVA 程序设计实验报告 学期2016-2017-2 实验名称实验 5综合性程序设计简单学生信息管理系统 班级* 一实验目的 二实验内容与结果 姓名Zzz 学号20151601* 1任务描述(1.3 与 1.4 二选一建议选择 1.4 利用课程所学知识...
  • 标准文档 实验名称实验 5综合性程序设计简单学生信息管理系统 班级 * 姓名 Zzz 学号 20151601* 一实验目的 二实验内容与结果 1任务描述 (1.3 与 1.4 二选一建议选择 1.4 利用课程所学知识设计并实现一个简单学生信息...
  • 基于java swing开发的桌面程序-学生信息管理系统,实现了增删改查 包括用户的登陆注册等功能 项目采用技术: javabean+swing+jdbc+mysql进行开发 采用mvc的技术结构
  • java学生信息管理系统(窗体程序)

    热门讨论 2010-01-08 13:22:09
    这是一个用java编写的窗体应用程序,实现的功能有信息添加、删除、编辑、查询四个基本功能,数据显示采用jtable控件,数据库采用access。程序的整个实现都很简单,有需要的同学可以拿去看一下。
  • Java初学者做的Java入门小实验:简易学生信息管理系统窗体实现)
  • Java+学生信息管理系统+GUI+文件

    万次阅读 多人点赞 2019-07-05 20:10:03
    系统可实现学生信息的增加,删除,修改,查询,并将学生信息存储在文件中 其中, 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以...

    朋友们啊,请仔细看博客哦,这个项目我完成的时候,确实是可以跑起来的,所有功能和效果基本都写在博客里了,代码资源也给上了(遇到好几个朋友私信问代码,我也是无奈了)。

    如果运行不起来,出现各种问题可能是因为版本,电脑环境等原因,这些可以在评论区讨论(我盲猜我爱莫能助),或者根据报错自行搜索。这个项目对于我来说有点久远了,当时做好后就写了这个博客,很多细节可能不太记得了,另外,我要转前端了哈哈哈(*^▽^*),所以搞Java的同学自己加油吧~遇到问题没什么,多百度,多看教程,你可以的!

    关于这个项目的私信和评论区我可能就不会怎么回了,评论区讨论的朋友如果知道怎么解决可以回一下哈,我呢就爱莫能助了O(∩_∩)O~

    我这简陋的成果只是给有需要的同学参考,希望同学们可以自己多动手,练练实践能力,编码能力是要自己去踩坑才能有提升的呀。

    另外,大部分项目是需要操作数据库的,但我当时做项目的时候,老师要求的是操作文件,需要操作数据库的朋友,自行研究一下吧,附上我的数据库学习博客:Java操作数据库-JDBC数据库

    项目代码资源下载地址:Student_Manage.zip

    因为CSDN的积分是自动调整的,且很多同学都没有积分,补充上了码云的代码仓库地址https://gitee.com/huan2515/student-manage.git

    附上“如何在码云Gitee中部署个人静态网站?git提交网站”地址:https://www.bilibili.com/read/cv6506359?share_medium=android&share_source=qq&bbid=XYA0AA2A7669743DD029D12A5C0A0B24B7524&ts=1608258917421

    我写的时候是用的eclipse,JDK8。

    这个项目只是当初我的一个很简陋的课程设计,还有很多可以提升的空间,很多的重复性源码也可以整理成为工具类,方便调用。参考借鉴的同学可以参考我这个项目,以节省时间和精力,多优化。

    最终项目结构:
    在这里插入图片描述

    1. 要求

    该系统可实现学生信息的增加,删除,修改,查询,筛选的功能。并将学生信息存储在文件txt 中,不会覆盖原数据。
    该系统没有利用数据库,是使用文件来存储学生数据,有基本的 UI 界面,操作友好,项目运行没有问题。

    2. 主函数

    package Student_Manage;
    
    public class Main {
    
    	 public static void main(String[] args) {
    		new Login();
    	    }
    }
    
    

    学生类

    package Student_Manage;
    
    public class student_information {
    	private String stuID;    /*  学生学号  */
    	private String name;     /* 学生姓名 */
    	private String sex;     /* 学生性别  */
        private String age;        /*  学生年龄  */
        private String callnumber;   /* 学生电话号码   */
        private String home_place;   /* 学生家庭住址,籍贯 */
        private String identityID;   /* 学生身份证号码 */
        
        /*无参构造函数*/
        public student_information() {
        
        }
        /*有参构造函数 */
        public student_information(String stuID,String name,String sex,String age,String callnumber,String home_place,String identityID) {
        	super();
        	this.stuID=stuID;
        	this.name=name;
        	this.sex=sex;
        	this.age=age;
        	this.callnumber=callnumber;
        	this.home_place=home_place;
        	this.identityID=identityID;
        }
        public String getStuID() {
        	return this.stuID;
        }
        public void setStuID(String stuID) {
        	this.stuID=stuID;
        }
        
        public String getName() {
        	return name;
        }
        public void setName(String name) {
        	this.name=name;
        }
        
        public String getSex() {
        	return this.sex;
        }
        public void setSex(String sex) {
        	this.sex=sex;
        }
        
        public String getAge() {
        	return this.age;
        }
        public void setAge(String age) {
        	this.age=age;
        }
        
        public String getCallnumber() {
        	return this.callnumber;
        }
        public void setCallnummber(String callnumber) {
        	this.callnumber=callnumber;
        }
        
        public String getHome_place() {
        	return this.home_place;
        }
        public void setHome_place(String home_place) {
        	this.home_place=home_place;
        }
        
        public String getIdentityID() {
        	return this.identityID;
        }
        public void setIdentityID(String identityID) {
        	this.identityID=identityID;
        }
        
        //从文件中录入的数据格式    "学号  姓名  性别  年龄  电话号码  家庭住址  身份证号码"  
        public String fileString()
    	{
    		return stuID+" "+name+" "+sex+" "+age+"  "+callnumber+"  "+home_place+"  "+identityID;
    	}
    
       
    }
    
    

    3. 静态登录界面实现

      登录界面还有完善的空间,可增加密码验证,通过管理员和学生账号的不同验证其身份,还可增加注册功能
    
    package Student_Manage;
    
    /**
     * 功能:学生成绩管理系统
     * 步骤1、登录界面的静态实现
     * author:ywq
     */
    import java.awt.*;
    import javax.swing.*;
    
    import java.awt.event.*;
    
    public  class Login extends JFrame implements  ActionListener{
    	//定义组件
    	JFrame frame=new JFrame();
    	JPanel jp1,jp2,jp3;//面板
    	JLabel jlb1,jlb2;//标签
    	JButton jb1,jb2;//按钮
    	
    	//构造函数
    	public Login(){
    		//创建面板
    		jp1=new JPanel();
    		jp2=new JPanel();
    		jp3=new JPanel();
    		//创建标签
    		jlb1=new JLabel("请按照你的身份选择登陆");
    		
    		//创建按钮
    		jb1=new JButton("信息管理人员");
    		jb2=new JButton("学生");
    				
    		//设置布局管理
    		frame.setLayout(new GridLayout(3, 1));//网格式布局
    		
    		//加入各个组件
    		jp1.add(jlb1);
    			
    		jp3.add(jb1);
    		jp3.add(jb2);
    		
    		//加入到JFrame
    		frame.add(jp2);
    		frame.add(jp1);
    		//this.add(jp2);
    		frame.add(jp3);
    		
    		//设置窗体
    		frame.setTitle("用户登录界面");//窗体标签
    		frame.setSize(400, 300);//窗体大小
    		frame.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出关闭JFrame
    		frame.setVisible(true);//显示窗体
    		
    		//锁定窗体
    		//this.setResizable(false);
    				
    		jb1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    			   frame.setVisible(false);
    				new ManagerLogin();
    			}
    		});
    		
    		jb2.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    			   frame.setVisible(false);
    				new StudentLogin();
    			}
    		});
    		
    		
    	}
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		// TODO Auto-generated method stub
    		
    	}
    }
    
    

    效果图
    效果图

    4. 信息管理员登录界面

    该界面的标签,文本框等的位置还可以调整,使其更美观。
    
    package Student_Manage;
    
    //信息管理人员登陆后的界面
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.*;/*ArrayList;
    import java.util.Hashtable;
    */
    public class ManagerLogin extends JFrame implements  ActionListener{
    	
    	Function fun=new Function();
    	
    	//定义组件 
    	JLabel lb1=new JLabel("当前是信息管理人员登录界面" );//JLabel 对象可以显示文本、图像
    	JLabel lb2=new JLabel("提示:录入前请先输入学号,修改、删除根据学号修改信息");
    	
        JTextField 学号,姓名,年龄,电话号码,家庭住址,身份证号码;//输入学生基本信息得文本
        JRadioButton 男,女;//声明单选项对象,性别选择
        ButtonGroup group=null;//声明按钮组
        JButton 录入,查询,删除,修改,显示,返回;//声明相应的操作的按钮
        JPanel p1,p2,p3,p4,p5,p6,p7,pv,ph,pb;//调节布局的通道
        
        public ManagerLogin(){       //负责管理员登录的主窗口
            super("学生信息管理系统");
            学号=new JTextField(10);//创建文本信息的的对象
            姓名=new JTextField(10);
            电话号码=new JTextField(15);
            年龄=new JTextField(5);
            家庭住址=new JTextField(15);
            身份证号码=new JTextField(18);
            
            group=new ButtonGroup();
            男=new JRadioButton("男");//初始化单选框,
            女=new JRadioButton("女");
            group.add(男);//把按钮添加到按钮组
            group.add(女);
            录入=new JButton("增加学生信息");//创建按钮对象
            查询=new JButton("查询符合条件的学生信息");
            删除=new JButton("删除学生信息");
            修改=new JButton("修改学生信息");
            显示=new JButton("显示全部学生信息");
            返回=new JButton("返回登录界面");
        
            pb=new JPanel();
            pb.add(lb1,JLabel.CENTER);
                    
            p1=new JPanel();//创建一个面板     
           
            p1.add(lb2,JLabel.CENTER);
            p1.add(new JLabel("学号:",JLabel.CENTER));//JLabel.CENTER是指JLabel的中心点。CENTER是中心点的坐标
            p1.add(学号);
            
            p2=new JPanel();
            p2.add(new JLabel("姓名:",JLabel.CENTER));
            p2.add(姓名);
            p3=new JPanel();
            p3.add(new JLabel("性别:",JLabel.CENTER));
            p3.add(男);
            p3.add(女);
            p4=new JPanel();
            p4.add(new JLabel("年龄:",JLabel.CENTER));
            p4.add(年龄);
            p5=new JPanel();
            p5.add(new JLabel("电话号码:",JLabel.CENTER));
            p5.add(电话号码);    
            p6=new JPanel();
            p6.add(new JLabel("家庭住址:",JLabel.CENTER));
            p6.add(家庭住址);
            p7=new JPanel();
            p7.add(new JLabel("身份证号码:",JLabel.CENTER));
            p7.add(身份证号码);
           
            pv=new JPanel();//面板
            pv.setLayout(new GridLayout(7,1));   //把pv组件设置成第七行1列的网格布局
                
            pv.add(p1);//把面板放到容器中,add()代表容器
            pv.add(p2);
            pv.add(p3);
            pv.add(p4);
            pv.add(p5);
            pv.add(p6);
            pv.add(p7);
                   
            ph=new JPanel();      
            ph.add(录入);
            ph.add(查询);
            ph.add(修改);
            ph.add(删除);    
            ph.add(显示);
            ph.add(返回);
                   
            Container con=getContentPane();//建立容器对象con,取得容器面板
            con.setLayout(new BorderLayout());//设置布局为边框布局,边框布局分东南西北中5个方位来添加控件。
            //若没有指定方位,将添加到中间,上下左右都可以扩展
            con.add(pb, BorderLayout.NORTH);//Frame对象lb调用方法add(),lb放在最北上方     
            con.add(pv, BorderLayout.CENTER);//pv在中间
            con.add(ph, BorderLayout.SOUTH);//ph在南边
            setDefaultCloseOperation(EXIT_ON_CLOSE);//置一个默认的关闭操作,也就是你的JFrame窗口的关闭按钮,点击它时,退出程序
            setBounds(100,100,900,450);//setBounds(x,y,width,height); x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度
            setVisible(true);//目的是使控件可以显示出来,如果该控件已经被显示出来
              
            student_information stu=new student_information();
            ArrayList<student_information> arry=new ArrayList<student_information>();
            //添加监听
            //点击录入按钮  学号","姓名","性别","年龄","电话号码","家庭住址","身份证号码"  
            录入.addActionListener(new ActionListener() {
        	   public void actionPerformed(ActionEvent e) {		     		     
        		 String sID = 学号.getText();    //获取文本框中内容
        		 if(fun.find(sID)!=-1)
        		 {
        			 JOptionPane.showMessageDialog(null, "该学号对应的学生已经存在!!!\n\n请重新输入或者修改已经录入的学生");   			 
        			  //清空文本框
        			 学号.setText("");
        			 姓名.setText("");
        			 年龄.setText("");
        			 电话号码.setText("");
        			 家庭住址.setText("");
        			 身份证号码.setText("");
        			 return;
        		 }      		 
        		 String sname = 姓名.getText();  		 
        		 //先判断学号和姓名是否为空,如果为空,直接退出
        		 if(sID.equals("")||sname.equals(""))
        		 {
        			 JOptionPane.showMessageDialog(null, "录入的学生学号或姓名为空!!!\n\n请重新输入");
        			 return;
        		 }  	   		 	 
          		 String sage = 年龄.getText();     		 
          		 if(sage.equals(""))//年龄为空,没有输入
       			    sage="--";  		 
          		 String scall = 电话号码.getText();
          		 if(scall.equals(""))
          			  scall="--";
          		 String shome = 家庭住址.getText();
          		if(shome.equals(""))
          		    shome="--";
          		 String siden = 身份证号码.getText();
          		if(siden.equals(""))
          		   siden="--";
          		 String ssex=null;
                 if(男.isSelected()){//选择男女
                    ssex=男.getText();
                 }
                 else{
                     ssex=女.getText();
                 }   
                
          		 stu.setStuID(sID);
          		 stu.setAge(sage);
          		 stu.setName(sname);
          		 stu.setSex(ssex);
          		 stu.setCallnummber(scall);
          		 stu.setHome_place(shome);
          		 stu.setIdentityID(siden);
          		 
          		 //arry.clear();//	清除原数组列表中的数据	
          		// Input input=new Input(stu);
          		 System.out.println("信息管理员");
          		 System.out.println(stu.fileString());
          		 
          		 fun.add(stu);
          		 fun.writefile();
          		 
          		 JOptionPane.showMessageDialog(null, "录入成功!!!");
          		 //dispose();
          		 setVisible(false); 
          		 new ManagerLogin();
          		 
          		  //清空文本框
          		 /*
    			学号.setText("");
    			姓名.setText("");
    			年龄.setText("");
    			电话号码.setText("");
    		    家庭住址.setText("");
    			身份证号码.setText("");
    			group.clearSelection();   //清空按钮已选状态
    			*/
        	   }   	   
           });
            
                       
           //显示全部学生信息
              显示.addActionListener(new ActionListener() {
         	   public void actionPerformed(ActionEvent e) {     		   
         		   //show_stuall all=new show_stuall();     
         		   new show_stuall();   		     		   
         	    }	     		   
              });
                          
            //查询某个学生信息       
            查询.addActionListener(new ActionListener() {
            	   public void actionPerformed(ActionEvent e) {      		  
            		   String sID = 学号.getText();    //获取文本框中内容 
            		   if(sID.equals(""))
            		     sID="--";       		   
              		  String sname = 姓名.getText();  		 
              		  if(sname.equals(""))
            			   sname="--";      		 	 
                	  String sage = 年龄.getText();     		 
                	  if(sage.equals(""))             //年龄为空,没有输入
             			    sage="--";  		 
                	  String scall = 电话号码.getText();
                	 if(scall.equals(""))
                			  scall="--";
                		 String shome = 家庭住址.getText();
                		if(shome.equals(""))
                		    shome="--";
                		 String siden = 身份证号码.getText();
                		if(siden.equals(""))
                		   siden="--";
                		 String ssex=null;
                       if(男.isSelected()){//选择男女
                          ssex=男.getText();
                       }
                       else {
                    	    if(女.isSelected())
                             ssex=女.getText();
                           else {
    						  ssex="--";
    					   }
                       }          		            
            	 		 //将要查询的符合条件的写入文件
            	 		FileWriter fw=null;
        				BufferedWriter out=null;//学号","姓名","性别","年龄","电话号码","家庭住址","身份证号码" };
        				try {
        					 fw = new FileWriter("查询时暂时存放的文件.txt");
        					 out = new BufferedWriter(fw);
        					 //姓名学号等中间隔一个空格
        					 out.write(sID+"  ");
        					 out.write(sname+"  ");
        					 out.write(ssex+"  ");
        					 out.write(sage+"  "); 					   					 
        					 out.write(scall+"  ");
        					 out.write(shome+"  ");
        					 out.write(siden+"  "); //每次覆盖写入,无需全部保存
        				   					 
        					out.close();
        					fw.close();
        						
        				} catch (IOException e1) {
        					e1.printStackTrace();
        					
        				}     				
        				//开始查询
        				new showones();  
        				
        				//清空文本框
        				学号.setText("");
        				姓名.setText("");
        				年龄.setText("");
        				电话号码.setText("");
        			    家庭住址.setText("");
        				身份证号码.setText("");
        				group.clearSelection();
        				
            	    }	     		   
                 }); 
           
     
           
           //删除学生信息,按学号删除
              删除.addActionListener(new ActionListener() {
            	   public void actionPerformed(ActionEvent e) {
            		   String sID = 学号.getText();    //获取文本框中内容
            		   int flag=fun.find(sID);
            		   if(flag==-1)
            		   {
            			   JOptionPane.showMessageDialog(null, "未查找到该学号的学生!!!\n\n请重新输入");       			    
            		   }
            		   else {
    					 fun.delete(sID); 
            		     fun.writefile();
            		     JOptionPane.showMessageDialog(null, "删除成功!!!\n");
    				 }
           		
            		   //清空文本框
           			学号.setText("");
           			姓名.setText("");
           			年龄.setText("");
           			电话号码.setText("");
           		    家庭住址.setText("");
           			身份证号码.setText("");
           			group.clearSelection();
            		   
            	    }	     		   
                 });       
              
              //修改学生信息
              修改.addActionListener(new ActionListener() {
              	   public void actionPerformed(ActionEvent e) {
              		  String sID = 学号.getText();    //获取文本框中内容
              		 int flag=fun.find(sID);    //查找是否存在      		
             		 if (flag==-1)
             		 {
         			   JOptionPane.showMessageDialog(null, "未查找到该学号的学生!!!\n\n请重新输入");
          			   return;  
         		    }    
             		else
          			   JOptionPane.showMessageDialog(null, "该系统中存在该学生数据\n\n,确认返回后请输入需要修改后的数据");
           			 		    		     		 
              		 String sage = 年龄.getText();     		 
              		 if(sage.equals(""))//年龄为空,没有输入
           			    sage="--";  		 
              		 String scall = 电话号码.getText();
              		 if(scall.equals(""))
              			  scall="--";
              		 String shome = 家庭住址.getText();
              		if(shome.equals(""))
              		    shome="--";
              		 String siden = 身份证号码.getText();
              		if(siden.equals(""))
              		   siden="--";
              		 String ssex=null;
                     if(男.isSelected()){//选择男女
                        ssex=男.getText();
                     }
                     else{
                         ssex=女.getText();
                     }   
                     String sname = 姓名.getText();  		 
            		 //先判断学号和姓名是否为空,如果为空,直接退出
            		 if(sname.equals(""))
            		 {
            			 JOptionPane.showMessageDialog(null, "录入的学生姓名为空!!!\n\n请重新输入");
            			 return;
            		 }  	
            		// student_information stu=new student_information();
              		 stu.setStuID(sID);
              		 stu.setAge(sage);
              		 stu.setName(sname);
              		 stu.setSex(ssex);
              		 stu.setCallnummber(scall);
              		 stu.setHome_place(shome);
              		 stu.setIdentityID(siden);
             		 
              		 fun.update(stu);       //修改
              		 fun.writefile();
              		 JOptionPane.showMessageDialog(null, "修改成功!!!");
              		  //清空文本框
         			学号.setText("");
         			姓名.setText("");
         			年龄.setText("");
         			电话号码.setText("");
         		    家庭住址.setText("");
         			身份证号码.setText("");
         			group.clearSelection();	 		 			          		         		 
              	    }	     		             	   
                   });
                            
        返回.addActionListener(new ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			setVisible(false);      //目的是使控件不可以显示出来
    			new Login();
    		}
    	});
         }
    
    	@Override
    	public void actionPerformed(ActionEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    }
    
    

    效果图
    在这里插入图片描述

    5. 学生登录界面

    	package Student_Manage;
    	
    	//学生登陆后的界面
    	import java.awt.*;
    	import javax.swing.*;
    	import java.awt.event.*;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.*;/*ArrayList;
    	import java.util.Hashtable;
    	*/
    public  class StudentLogin extends JFrame implements  ActionListener{
    		
    		Function fun=new Function();		
    		//定义组件 
    		JLabel lb1=new JLabel("当前是学生登录界面" );//JLabel 对象可以显示文本、图像
    		JLabel lb2=new JLabel("提示:录入前请先输入学号,修改、删除根据学号修改信息");
    	    JTextField 学号,姓名,年龄,电话号码,家庭住址,身份证号码;//输入学生基本信息得文本
    	    JRadioButton 男,女;//声明单选项对象,性别选择
    	    ButtonGroup group=null;//声明按钮组
    	    JButton 录入,查询,删除,修改,显示,返回;//声明相应的操作的按钮
    	    JPanel p1,p2,p3,p4,p5,p6,p7,pv,ph,pb;//调节布局的通道
    	    
    	    student_information stu=new student_information();
    	    ArrayList<student_information> arry=new ArrayList<>();
    	    
    	    public StudentLogin(){       //负责管理员登录的主窗口
    	        super("学生信息管理系统");
    	        学号=new JTextField(10);//创建文本信息的的对象
    	        姓名=new JTextField(10);
    	        电话号码=new JTextField(15);
    	        年龄=new JTextField(5);
    	        家庭住址=new JTextField(15);
    	        身份证号码=new JTextField(18);
    	        
    	        group=new ButtonGroup();
    	        男=new JRadioButton("男");//初始化单选框,
    	        女=new JRadioButton("女");
    	        group.add(男);//把按钮添加到按钮组
    	        group.add(女);
    	        //录入=new JButton("增加学生信息");//创建按钮对象
    	        查询=new JButton("查询某个学生信息");
    	        //删除=new JButton("删除学生信息");
    	       // 修改.setEnabled(false);   //设置修改控件不可用
    	        //修改=new JButton("修改学生信息"); 
    	        显示=new JButton("显示全部学生信息");
    	        返回=new JButton("返回登录界面");
    	    
    	        pb=new JPanel();
    	        pb.add(lb1,JLabel.CENTER);
    	                
    	        p1=new JPanel();//创建一个面板     
    	        //p1.setLayout(new GridLayout(3,0));
    	        p1.add(lb2,JLabel.CENTER);
    	        p1.add(new JLabel("学号:",JLabel.CENTER));//JLabel.CENTER是指JLabel的中心点。CENTER是中心点的坐标
    	        p1.add(学号);
    	        
    	        p2=new JPanel();
    	        p2.add(new JLabel("姓名:",JLabel.CENTER));
    	        p2.add(姓名);
    	        p3=new JPanel();
    	        p3.add(new JLabel("性别:",JLabel.CENTER));
    	        p3.add(男);
    	        p3.add(女);
    	        p4=new JPanel();
    	        p4.add(new JLabel("年龄:",JLabel.CENTER));
    	        p4.add(年龄);
    	        p5=new JPanel();
    	        p5.add(new JLabel("电话号码:",JLabel.CENTER));
    	        p5.add(电话号码);    
    	        p6=new JPanel();
    	        p6.add(new JLabel("家庭住址:",JLabel.CENTER));
    	        p6.add(家庭住址);
    	        p7=new JPanel();
    	        p7.add(new JLabel("身份证号码:",JLabel.CENTER));
    	        p7.add(身份证号码);
    	       
    	        pv=new JPanel();//面板
    	        pv.setLayout(new GridLayout(7,1));   //把pv组件设置成第七行1列的网格布局
    	            
    	        pv.add(p1);//把面板放到容器中,add()代表容器
    	        pv.add(p2);
    	        pv.add(p3);
    	        pv.add(p4);
    	        pv.add(p5);
    	        pv.add(p6);
    	        pv.add(p7);
    	               
    	        ph=new JPanel();      
    	       // ph.add(录入);
    	        ph.add(查询);
    	       // ph.add(修改);
    	       // ph.add(删除);    
    	        ph.add(显示);
    	        ph.add(返回);
    	               
    	        Container con=getContentPane();//建立容器对象con,取得容器面板
    	        con.setLayout(new BorderLayout());//设置布局为边框布局,边框布局分东南西北中5个方位来添加控件。
    	        //若没有指定方位,将添加到中间,上下左右都可以扩展
    	        con.add(pb, BorderLayout.NORTH);//Frame对象lb调用方法add(),lb放在最北上方     
    	        con.add(pv, BorderLayout.CENTER);//pv在中间
    	        con.add(ph, BorderLayout.SOUTH);//ph在南边
    	        setDefaultCloseOperation(EXIT_ON_CLOSE);//置一个默认的关闭操作,也就是你的JFrame窗口的关闭按钮,点击它时,退出程序
    	        setBounds(100,100,900,450);//setBounds(x,y,width,height); x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度
    	        setVisible(true);//目的是使控件可以显示出来,如果该控件已经被显示出来
    	          
    	        //添加监听        
    	       //显示全部学生信息
    	          显示.addActionListener(new ActionListener() {
    	     	   public void actionPerformed(ActionEvent e) {     		   
    	     		  new show_stuall();   	
    	     		   
    	     	    }	     		   
    	          });
    	          
    	          //查询某个学生信息       
    	          查询.addActionListener(new ActionListener() {
    	          	   public void actionPerformed(ActionEvent e) {      		  
    	          		   String sID = 学号.getText();    //获取文本框中内容 
    	          		   if(sID.equals(""))
    	          		     sID="--";       		   
    	            		  String sname = 姓名.getText();  		 
    	            		  if(sname.equals(""))
    	          			   sname="--";      		 	 
    	              	  String sage = 年龄.getText();     		 
    	              	  if(sage.equals(""))             //年龄为空,没有输入
    	           			    sage="--";  		 
    	              	  String scall = 电话号码.getText();
    	              	 if(scall.equals(""))
    	              			  scall="--";
    	              		 String shome = 家庭住址.getText();
    	              		if(shome.equals(""))
    	              		    shome="--";
    	              		 String siden = 身份证号码.getText();
    	              		if(siden.equals(""))
    	              		   siden="--";
    	              		 String ssex=null;
    	              		if(男.isSelected()){//选择男女
    	                        ssex=男.getText();
    	                     }
    	                     else {
    	                  	    if(女.isSelected())
    	                           ssex=女.getText();
    	                         else {
    	  						  ssex="--";
    	  					   }
    	                     }          	
    	              		            
    	          	 		 //将要查询的符合条件的写入文件
    	          	 		FileWriter fw=null;
    	      				BufferedWriter out=null;  //学号","姓名","性别","年龄","电话号码","家庭住址","身份证号码" };
    	      				try {
    	      					 fw = new FileWriter("查询时暂时存放的文件.txt");
    	      					 out = new BufferedWriter(fw);
    	      					 //姓名学号等中间隔一个空格
    	      					 out.write(sID+"  ");
    	      					 out.write(sname+"  ");
    	      					 out.write(ssex+"  ");
    	      					 out.write(sage+"  "); 					   					 
    	      					 out.write(scall+"  ");
    	      					 out.write(shome+"  ");
    	      					 out.write(siden+"  "); //每次覆盖写入,无需全部保存
    	      				   					 
    	      					out.close();
    	      					fw.close();
    	      						
    	      				} catch (IOException e1) {
    	      					e1.printStackTrace();
    	      					
    	      				}     				
    	      				//开始查询
    	      				new showones();  
    	      				
    	      				//清空文本框
    	      				学号.setText("");
    	      				姓名.setText("");
    	      				年龄.setText("");
    	      				电话号码.setText("");
    	      			    家庭住址.setText("");
    	      				身份证号码.setText("");
    	      				group.clearSelection();
    	      				
    	          	    }	     		   
    	               }); 	   
    
    	    返回.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				setVisible(false);      //目的是使控件不可以显示出来
    				new Login();
    			}
    		});
      }
    
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			// TODO Auto-generated method stub
    			
    		}
    }
    
    

    效果图
    在这里插入图片描述

    6. 增加,删除,修改功能

    package Student_Manage;
    
    import java.io.*;
    import java.util.*;
    
    
    //修改,删除,增加某个学生信息
    
    class Function {
    	
    	//本程序学生数量不多,用数组列表ArrayList,  当学生数据多的时候,考虑用链表
        ArrayList<student_information> arry=new ArrayList<student_information>();  			
    	public Function()           //读文件,将文件中的学生信息存放在数组列表
    	{
    		this.readfile();
    	}
    	//根据学号查找学生信息,找到返回学号,找不到返回-1
    	public int find(String str) 
    	{		
    	    for (int i = 0; i<arry.size(); i++)
    	      if (arry.get(i).getStuID().equals(str))
    						return i;//等于在数组列表的位置
    			return -1;
    	}	
    	
    	//修改学生信息
    	public void update(student_information stu) {
    		int flag=find(stu.getStuID());    //查找是否存在
    		arry.set(flag, stu);		   //替换 flag 处的学生信息
    	}	
    	// 读文件,
    	public boolean readfile() {					 
    			String t=null;
    			try{
    				FileReader f1 = new FileReader("student.txt");
    				BufferedReader br=new BufferedReader(f1);				
    				arry.clear();    //	清除原数组列表中的数据				
    				while ((t= br.readLine())!= null)
    					{
    					  String [] s=t.split("\\s+");				 
    					  student_information st=new student_information(s[0],s[1],s[2],s[3],s[4],s[5],s[6]);//注意若该文件每行没有七个字符串,则会出错
    					  arry.add(st);
    					  System.out.println("读取文件:");
    					  System.out.println(s[0]);
    					}
    				     f1.close();
    				     br.close();				     
    				     return true;
    					} catch (IOException e) {
    							// TODO 自动生成的 catch 块
    					e.printStackTrace();
    					return false;
    				}	
    		     }					
    	//添加学生信息	
    	public boolean add(student_information stu)
    	     {		
    		System.out.println();	
    		System.out.println("要添加的学生");	
    		System.out.println(stu.fileString());
    		System.out.println();
    		if (find(stu.getStuID())!=-1)
    			return false;		
    		arry.add(stu); 
    		return true;			
    	}
    	
    	//写注意每行必须有七个元素,否则读取文件并判断是否存在时会出错时会出错,没有输入的用---代替
    	public boolean writefile() {
    				FileWriter fw=null;
    				BufferedWriter out=null;
    				try {
    					 fw = new FileWriter("student.txt");    
    					 out = new BufferedWriter(fw);
    					 //姓名学号等中间隔一个空格
    						for(int i=0;i<arry.size();i++){
    							String s=arry.get(i).fileString();
    							System.out.println("数组列表数据:");
    							System.out.println(arry.get(i).fileString());
    					    	out.write(s);
    					    	out.newLine();
    					    }
    						out.close();
    						fw.close();
    						return true;
    				} catch (IOException e) {
    					e.printStackTrace();
    					return false;
    				}
    		   }
    	
    	//删除学生信息,并且文件中的内容也要修改
    	public boolean delete(String s)	//添加学生记信息
    	{  
    		int pos=find(s);
    		if (pos==-1)
    			return false;
    		
    		arry.remove(pos);    
    		return true;
    	}
    	
    		
    /*
    	//删除学生信息,并且重写文件内容					
    	 public boolean delete(String s) {	
    		        File file =new File("student.txt");
    		        try {
    		            if(!file.exists()) {
    		                file.createNewFile();
    		            }
    		            FileWriter fileWriter =new FileWriter(file);
    		            fileWriter.write("");
    		            fileWriter.flush();
    		            fileWriter.close();		            
    	    			int flag=find(s);		    		
    		    		System.out.print(flag);
    		    		arry.remove(flag);  		    		
    		    		writefile();
    		    		return true;	            
    		        } catch (IOException e) {
    		            e.printStackTrace();
    		            return false;
    		        }				
    		    }
    		    */		
    }			
    

    增加功能的效果图
    在这里插入图片描述
    删除功能的效果图
    在这里插入图片描述
    修改功能的效果图

      修改,输入某个学生的学号及修改之后的信息,按照学号查找该学生并且将修改之后的信息录入系统
      修改功能还可以进一步完善,例如只修改某个条件,而无需输入所有信息
    

    在这里插入图片描述
    在这里插入图片描述
    删除功能的效果图

    删除功能是通过输入学号,按照学号查找,查找到之后在系统中删除该学生
    

    在这里插入图片描述

    7. 查询和筛选功能

    • 显示系统中所有学生的信息
    package Student_Manage;
    
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableModel;
    import javax.swing.table.TableRowSorter;
    
    import java.io.*;
    
    import java.util.ArrayList;
    import java.util.Vector;
    
    //读取学生信息,展示在窗口
    
    public class show_stuall {	
    	
    	JTable table = null;
        DefaultTableModel model = null;
    	//显示全部学生信息
       public show_stuall() {
    	    JFrame jf = new JFrame("显示全部学生信息(点击表头可以按照升序降序排序)");	   
    	    // 创建内容面板
    	     JPanel panel = new JPanel();
    	    // 表头(列名)
    	   Vector columnNames=createColumnNames();
    	   Vector data=createTableModelData();	   
    	 // 创建一个默认的表格模型
    	    model = new DefaultTableModel(data, columnNames);
    	   table = new JTable(model);
           table.setPreferredScrollableViewportSize(new Dimension(400, 80));
           JScrollPane tablePanel = new JScrollPane(table);  				        
    	        // 设置表格内容颜色
    	        table.setForeground(Color.BLACK);                   // 字体颜色
    	        table.setFont(new Font(null, Font.PLAIN, 14));      // 字体样式
    	        table.setSelectionForeground(Color.DARK_GRAY);      // 选中后字体颜色
    	        table.setSelectionBackground(Color.LIGHT_GRAY);     // 选中后字体背景
    	        table.setGridColor(Color.GRAY);                     // 网格颜色
    
    	        // 设置表头
    	        table.getTableHeader().setFont(new Font(null, Font.BOLD, 14));  // 设置表头名称字体样式
    	        table.getTableHeader().setForeground(Color.RED);                // 设置表头名称字体颜色
    	        table.getTableHeader().setResizingAllowed(false);               // 设置不允许手动改变列宽
    	        table.getTableHeader().setReorderingAllowed(false);             // 设置不允许拖动重新排序各列
    
    	        // 设置行高
    	        table.setRowHeight(40);
    
    	        // 第一列列宽设置为40
    	        table.getColumnModel().getColumn(0).setPreferredWidth(40);
                 
    	        // 设置滚动面板视口大小(超过该大小的行数据,需要拖动滚动条才能看到)
    	        table.setPreferredScrollableViewportSize(new Dimension(900, 320));
    	        
    	        //排序器	        
    	        RowSorter sorter = new TableRowSorter(model);
    	        table.setRowSorter(sorter);
    	        JScrollPane pane = new JScrollPane(table);      
    
    	        // 把 表格 放到 滚动面板 中(表头将自动添加到滚动面板顶部)
    	        JScrollPane scrollPane = new JScrollPane(table);
    
    	        // 添加 滚动面板 到 内容面板
    	        panel.add(scrollPane);
    	       // JScrollPane pane = new JScrollPane(table);
    	        // 设置 内容面板 到 窗口
    	        jf.setContentPane(panel);
    	        jf.pack();
    	        jf.setSize(900, 600);
    	        jf.add(scrollPane, BorderLayout.CENTER);
    	        
    	        //数据居中显示
    	        DefaultTableCellRenderer r = new DefaultTableCellRenderer();   
    			r.setHorizontalAlignment(JLabel.CENTER);   
    			table.setDefaultRenderer(Object.class, r);
    			
    	        jf.setLocationRelativeTo(null);
    	        int t=table.getRowCount();
    	        if(t<=0){
    	        	JOptionPane.showMessageDialog(null, "该系统中还没有录入学生信息!!!");
    	        	jf.setVisible(false);
    	        }
    	        else {
    	        	jf.setVisible(true);
    	        }	 
    	    }
        
         private Vector createColumnNames() {
           Vector columnNames = new Vector();
           //columnNames.add("序号");
           columnNames.add("学号");
           columnNames.add("姓名");
           columnNames.add("性别");
           columnNames.add("年龄");
           columnNames.add("电话号码");
           columnNames.add("家庭住址");
           columnNames.add("身份证号码");
           
           return columnNames;
       }
       
         private Vector createTableModelData() {
            
             Vector data = new Vector();
             String t=null;
    			try{
    				FileReader f1 = new FileReader("student.txt");
    				BufferedReader br=new BufferedReader(f1);				
    				//arry.clear();//	清除原数组列表中的数据
    				int i=0;
    				while ((t= br.readLine())!= null)
    					{
    					  String [] s=t.split("\\s+");		//通过空格分割字符串数组					  
    					  Vector rowData = new Vector();
    				
    					  //rowData.add("i");				  
    					  rowData.add(s[0]);					  
    					  rowData.add(s[1]);
    					  rowData.add(s[2]);
    					  rowData.add(s[3]);
    					  rowData.add(s[4]);			  
    					  rowData.add(s[5]);   
    					  rowData.add(s[6]);				  
    					  data.add(rowData);					  
    					 // System.out.print(s[6]);					  
    					  i++;					   
    					}
    				     f1.close();
    				     br.close();			     
    				     
    					} catch (IOException e) {
    							// TODO 自动生成的 catch 块
    					e.printStackTrace();
    					
    				}	  
            return data;
         }   
    }
    	       
    

    效果图

    当前按照学号升序排序,点击表头,可以按照升序,降序排序
    

    在这里插入图片描述

    • 筛选系统中符合条件的学生信息
    package Student_Manage;
    
    import javax.management.modelmbean.ModelMBean;
    import javax.swing.*;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableModel;
    import javax.swing.table.TableRowSorter;
    
    import java.awt.*;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Vector;
    
    
    public class showones {	
    	//读取学生信息,展示在窗口
    		
    		ArrayList<student_information> arry=new ArrayList<student_information>();
    		student_information stu=new student_information();
    		JTable table = null;
    	    DefaultTableModel model = null;
    		//显示全部学生信息
    	   public showones() {
    		    JFrame jf = new JFrame("显示符合条件的学生信息(点击表头可以按照升序降序排序");
    		    //jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    		    // 创建内容面板
    		     JPanel panel = new JPanel();
    		    // 表头(列名)
    		  //  String[] columnNames ={"序号","学号","姓名","性别","年龄","电话号码","家庭住址","身份证号码" };  	
    		    Vector columnNames=createColumnNames();	    
    		    //需要查询的符合条件的,用字符串数组f记录		       
    			 String [] f = new String [7];
    				try{
    					FileReader f1 = new FileReader("查询时暂时存放的文件.txt");
    					BufferedReader br=new BufferedReader(f1);				
    					//arry.clear();//	清除原数组列表中的数据
    					String t=null;
    					while ((t= br.readLine())!= null)
    						{
    						  f=t.split("\\s+");			//要查询的学生信息	 
    						}
    					
    										
    				  f1.close();
    				  br.close();				  				  
    					} catch (IOException e) {
    								// TODO 自动生成的 catch 块
    					e.printStackTrace();						
    					}
    								
    				//记得清空,否则下次查询没有筛选条件时,查询的是上一次的条件
    				 File file =new File("查询时暂时存放的文件.txt");
    			        try {
    			            if(!file.exists()) {
    			                file.createNewFile();
    			            }
    			            FileWriter fileWriter =new FileWriter(file);
    			            fileWriter.write("");
    			            fileWriter.flush();
    			            fileWriter.close();			    		            
    			        } catch (IOException e) {
    			            e.printStackTrace();			         
    			        }		
    			    
    				//判断需要查询的是那些条件				
    				ArrayList List = new ArrayList(); 
    				for(int i=0;i<7;i++) {
    					if(!f[i].equals("--"))     //需要满足的条件
    						List.add(i); 							
    				}
    				//将满足查询条件的学生信息录入系统				 
    				for(int i=0;i<List.size();i++)
    					System.out.println(List.get(i));
    				try{
    						FileReader f1 = new FileReader("student.txt");
    						BufferedReader br=new BufferedReader(f1);
    						String t=null;
    						int flag=0;
    				        int t1=0;
    				        
    						arry.clear();//	清除原数组列表中的数据					
    						while ((t= br.readLine())!= null)
    							{
    							  String [] s=t.split("\\s+");		
    							 for(int i=0;i<List.size();i++)
    							 {
    								 t1=(int) List.get(i);
    								 if(f[t1].equals(s[t1])) {
    									 flag=flag+1;
    								 }
    							 }
    							  if(flag==List.size()) {
    								student_information st=new student_information(s[0],s[1],s[2],s[3],s[4],s[5],s[6]);//注意若该文件每行没有七个字符串,则会出错
    								 arry.add(st);
    							  }							  
    							  flag=0;
    							  
    							}
    						     f1.close();
    						     br.close();						     						     
    							} catch (IOException e) {
    									// TODO 自动生成的 catch 块
    							e.printStackTrace();				
    						}	
    		    	 				
    				Vector data=createTableModelData();
    				
    				// 创建一个默认的表格模型
    			    model = new DefaultTableModel(data, columnNames);
    			   table = new JTable(model);
    		       table.setPreferredScrollableViewportSize(new Dimension(400, 80));
    		       JScrollPane tablePanel = new JScrollPane(table);  
    				
    				
    		        // 设置表格内容颜色
    		        table.setForeground(Color.BLACK);                   // 字体颜色
    		        table.setFont(new Font(null, Font.PLAIN, 14));      // 字体样式
    		        table.setSelectionForeground(Color.DARK_GRAY);      // 选中后字体颜色
    		        table.setSelectionBackground(Color.LIGHT_GRAY);     // 选中后字体背景
    		        table.setGridColor(Color.GRAY);                     // 网格颜色
    
    		        // 设置表头
    		        table.getTableHeader().setFont(new Font(null, Font.BOLD, 14));  // 设置表头名称字体样式
    		        table.getTableHeader().setForeground(Color.RED);                // 设置表头名称字体颜色
    		        table.getTableHeader().setResizingAllowed(false);               // 设置不允许手动改变列宽
    		        table.getTableHeader().setReorderingAllowed(false);             // 设置不允许拖动重新排序各列
    
    		        // 设置行高
    		        table.setRowHeight(40);
    
    		        // 第一列列宽设置为40
    		        table.getColumnModel().getColumn(0).setPreferredWidth(40);
    	             
    		        // 设置滚动面板视口大小(超过该大小的行数据,需要拖动滚动条才能看到)
    		        table.setPreferredScrollableViewportSize(new Dimension(900, 320));
    		        //排序器	        
    		        RowSorter sorter = new TableRowSorter(model);
    		        table.setRowSorter(sorter);
    		        JScrollPane pane = new JScrollPane(table);      
    
    		        // 把 表格 放到 滚动面板 中(表头将自动添加到滚动面板顶部)
    		        JScrollPane scrollPane = new JScrollPane(table);
    
    		        // 添加 滚动面板 到 内容面板
    		        panel.add(scrollPane);
    		       // JScrollPane pane = new JScrollPane(table);
    		        // 设置 内容面板 到 窗口
    		        jf.setContentPane(panel);
    		        jf.pack();
    		        jf.setSize(900, 600);
    		        jf.add(scrollPane, BorderLayout.CENTER);
    		        //数据居中显示
    		        DefaultTableCellRenderer r = new DefaultTableCellRenderer();   
    				r.setHorizontalAlignment(JLabel.CENTER);   
    				table.setDefaultRenderer(Object.class, r);
    				
    				jf.setLocationRelativeTo(null);
    				int t=arry.size();
    				 //int t=table.getRowCount();
    			        if(t<=0){
    			        	JOptionPane.showMessageDialog(null, "该系统中没有符合条件的学生!!!");
    			        	jf.setVisible(false);
    			        }
    			        else {
    			        	jf.setVisible(true);
    			        }
    		    }
         private Vector createColumnNames() {
           Vector columnNames = new Vector();
           //columnNames.add("序号");
           columnNames.add("学号");
           columnNames.add("姓名");
           columnNames.add("性别");
           columnNames.add("年龄");
           columnNames.add("电话号码");
           columnNames.add("家庭住址");
           columnNames.add("身份证号码");
        
           return columnNames;
           }
    
         private Vector createTableModelData() {
        	 Vector data = new Vector();    	     	
             for(int i=0;i<arry.size();i++) {       	 
    	    	 Vector<String> rowData=new Vector<>();	    	
    	    	 rowData.add(arry.get(i).getStuID());
    	    	 rowData.add(arry.get(i).getName());
    	    	 rowData.add(arry.get(i).getSex());
    	    	 rowData.add(arry.get(i).getAge());
    	    	 rowData.add(arry.get(i).getCallnumber());
    	    	 rowData.add(arry.get(i).getHome_place());
    	    	 rowData.add(arry.get(i).getIdentityID());			    	 		    					  
        		 data.add(rowData);
        					  	    							   
    		  }	   
             return data;
    	  }  
        
    }
    
    

    例如查询名字为Q的男生
    效果图

    在这里插入图片描述
    在这里插入图片描述

     当没有输入任何条件时,点击该筛选按钮,即显示所有的学生信息
    

    PS:插件推荐 windowbuilder

    该插件对于GUI设计有很大帮助,具体安装和下载可以查看别的教程

    展开全文
  • Java 学生信息管理系统 (mysql版)

    千次阅读 多人点赞 2019-07-26 10:24:40
    引言:如果需要定制类似的图形界面版的Java 管理系统,比如控制台版的,Java web版...本次的学生信息管理系统为图形界面版,如若需要别的版本,可以参考我写的其他博客,希望能帮助那些爱学习的人。 1、效果图 ...

    引言:如果需要定制类似的图形界面版的Java 管理系统,比如控制台版的,Java web版的,ssm版,开发工具为idea和eclipse、myEclipse的,提供远程服务,需要源码,或者需要项目实训、毕业设计系统、论文指导的,可以加我QQ1728608455。


    本次的学生信息管理系统为图形界面版,如若需要别的版本,可以参考我写的其他博客,希望能帮助那些爱学习的人。

    1、效果图



     


     


     


     


     部分重要代码展示

    package management;
    /**
     * 登录界面
     */
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class LoginMain {
            private JTextField IDText;            //学号文本框
            private JPasswordField passwdText;  //密码文本框
            private JComboBox box;                //身份下拉列表框
            private JLabel loginlab;            //登录状态标签
            private JFrame jframe;                //窗体
            public LoginMain(){
                JLabel userlab = new JLabel("学 号:",JLabel.CENTER);//创建学号标签
                IDText = new JTextField(25);    //实例学号文本框
                JLabel passwdlab = new JLabel("密 码:",JLabel.CENTER);//创建密码标签
                passwdText = new JPasswordField(25);//实例化密码文本框
                loginlab = new JLabel("登录状态:",JLabel.CENTER);//实例化登录状态标签
                JLabel IDlabel = new JLabel("身份:");
                String str[] = {"student","teacher"};//创建下拉列表选项数组
                box = new JComboBox(str);
                jframe = new JFrame("学生管理系统登录界面");//实例化一个窗口,并设置标题
                JPanel userPanel= new JPanel();   //创建userPanel面板
                JPanel passwdPanel = new JPanel();//创建passwdPanel面板
                JPanel buttonPanel = new JPanel();//创建 buttonPanel面板
                JPanel labelPanel = new JPanel(); //labelPanel面板
                userPanel.add(userlab);//将userlab添加到userPanel面板
                userPanel.add(IDText); //将IDText添加到userPanel面板
                passwdPanel.add(passwdlab);
                passwdPanel.add(passwdText);
                JButton submit = new JButton("登录");//创建按钮并设置文本
                JButton reset = new JButton("重置");
                buttonPanel.add(IDlabel);//
                buttonPanel.add(box);//将下拉列表框添加到buttonPanel面板
                buttonPanel.add(submit);
                buttonPanel.add(reset);
                Font font=new Font("楷体",Font.BOLD+Font.PLAIN,35);
                loginlab.setFont(font);//设置loginlab标签文本字体
                loginlab.setForeground(Color.blue);
                labelPanel.add(loginlab);
                submit.addActionListener(new ActionListener(){
                    //注册submit按钮事件监听器
                    public void actionPerformed(ActionEvent e){
                        String user=IDText.getText();//获取学号
                        String passwd=new String (passwdText.getPassword());//获取密码
                        String identity= (String) box.getSelectedItem();
                        LoginCheck date=new LoginCheck(user,passwd,identity);
                        //连接数据库
                        System.out.println(user+" "+passwd+" "+identity);
                        boolean flag=date.prepared();
                        System.out.println(flag);
                        if(flag){//判断是否为合法用户
                            if("teacher".equals(identity)){
                                new TeacherInterface();
                                jframe.dispose();
                            }
                            else{
                                System.out.println("haha");
                                new StudentInterface(user);//登录学生界面
                                jframe.dispose(); //隐藏当前窗体
                            }
                            loginlab.setForeground(Color.green);
                            loginlab.setText("登陆成功!!!");
                        }
                        else{
                            loginlab.setForeground(Color.red);
                            loginlab.setText("登陆失败!!!");
                        }
                    }
                });
                reset.addActionListener(new ActionListener(){
                    //注册reset事件监听
                    public void actionPerformed(ActionEvent e){
                        IDText.setText("");//重置学号
                        passwdText.setText("");
                        loginlab.setForeground(Color.blue);
                        loginlab.setText("请重新登录!!!");
                    }
                });
                jframe.setLayout(new GridLayout(4,1));
                jframe.add(userPanel);
                jframe.add(passwdPanel);
                jframe.add(buttonPanel);
                jframe.add(labelPanel);
                jframe.setSize(400,200);
                jframe.setLocation(250,350);
                jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭方式
                jframe.setVisible(true);
            }
            public static void main(String[] args){
                new LoginMain();
            }
    }
     


    package management;
    //查询全部学生功能
    import java.sql.*;
    import java.util.*;
    import javax.swing.JOptionPane;
    import sqlpackage.DBConnection;
    public class StudentAllInformation {

        public static List<Object> selectAll() {
            List<Object> list=new ArrayList<Object>();//
            Object[] os=null;
            Connection conn=null;//连接数据库对象
            PreparedStatement pstmt=null;//预编译语句对象
            ResultSet rs = null;//结果集语句对象
            try{
                conn=DBConnection.getConnection();//获取数据库连接
                String sql="SELECT id,sname,password,sex,haddress,phone,dorm,result from student";
                //
                pstmt=conn.prepareStatement(sql);//使用预编译语句进行查询操作
                rs=pstmt.executeQuery();//获取结果集
                while(rs.next()){//判断结果集中是否有数据
                    os=new Object[8];
                    double point =rs.getDouble("result");//获取成绩信息
                    os[0]=rs.getString(1);//将学号信息放到对应数组中
                    os[1]=rs.getString(2);
                    os[2]=rs.getString(3);
                    os[3]=rs.getString(4);
                    os[4]=rs.getString(5);
                    os[5]=rs.getString(6);
                    os[6]=rs.getString(7);
                    os[7]=new Double(point);
                    list.add(os);
                }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询所有学生信息时发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
            //提示查询指定用户信息时发生异常
            
            }finally{
                DBConnection.close(conn);//关闭数据库连接
            }
        
            return list;
        }

    }
     


    package management;
    /**
     * 添加学生功能实现
     * @author Administrator
     *
     */
    import java.sql.*;
    import javax.swing.JOptionPane;
    import sqlpackage.DBConnection;
    public class AddStudentInformation {
        public static int add(String id, String name, String passwd, String sex, String add, String phone, String dorm,
                String result, double point) {
            // TODO Auto-generated method stub
            Connection conn=null;//连接数据库对象
            PreparedStatement pstmt=null;//预编译对象
            int rows=0;//更新语句行数变量
            try{
                conn=DBConnection.getConnection();//获取数据库连接
                String sql="insert into Student(id,sname,password,sex,haddress,phone,dorm,result )values(?,?,?,?,?,?,?,?)";
                //
                pstmt=conn.prepareStatement(sql);//使用预编译语句进行插入操作
                pstmt.setString(1,id);//将名称参数设置到 sql语句中
                pstmt.setString(2,name);
                pstmt.setString(3,passwd);
                pstmt.setString(4,sex);
                pstmt.setString(5,add);
                pstmt.setString(6,phone);
                pstmt.setString(7,dorm);
                pstmt.setDouble(8,point);
                rows=pstmt.executeUpdate();//执行更新操作
        }catch(SQLException e){
            System.out.println("插入数据时发生异常");
            e.printStackTrace();
            }finally{
                //DBConnection.close(pstmt);//关闭操作数据库对象资源
                DBConnection.close(conn);//关闭连接数据库对象资源
            }
            return rows;
        }
        public static int update(String id, String name, String passwd, String sex, String add, String phone, String dorm,
            String result, double point) {
            Connection conn=null;//连接数据库对象
            PreparedStatement pstmt=null;//预编译语句对象
            int rows=0;//结果集对象
            try{
                conn=DBConnection.getConnection();//获取数据库连接
                String sql="UPDATE student set password=?,sex=?,haddress=?,phone=?,dorm=?where id=?";
                pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
                pstmt.setString(1,passwd);//将名称参数设置到 sql语句中
                pstmt.setString(2,sex);
                pstmt.setString(3,add);
                pstmt.setString(4,phone);
                pstmt.setString(5,dorm);
                pstmt.setString(6,id);
                rows=pstmt.executeUpdate();//执行更新操作
        }catch(SQLException e){//判断是否发生异常
            JOptionPane.showMessageDialog(null, "插入数据时发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
            //发生异常
            
            }finally{
                //DBConnection.close(pstmt);//关闭操作数据库对象资源
                DBConnection.close(conn);//关闭数据库连接
            }
            return rows;
        }
        

        public static boolean check(String id) {
            // TODO Auto-generated method stub
            Connection conn=null;//连接数据库对象
            PreparedStatement pstmt=null;//预编译语句对象
            ResultSet rs = null;//结果集语句对象
            try{
                conn=DBConnection.getConnection();//获取数据库连接
                String sql="SELECT id student from student where id=?";
                //
                pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
                pstmt.setString(1,id);//将name参数设置到 sql语句中
                rs=pstmt.executeQuery();//获取结果集
                if(rs.next()){//判断结果集中是否有数据
                    return true;
                }
                }catch(SQLException e){
                    System.out.println("插入数据时发生异常");
                    e.printStackTrace();
                }finally{
                    DBConnection.close(conn);//关闭连接数据库对象资源
                }
            return false;
        }

    }
     


    package management;
    //删除学生界面
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class DelStudentInterface extends JFrame{
        private static final long serialVersionUID=-1928970409928880648L;//序列化版本号??
        JLabel lsid=new JLabel("学   号 :");//创建学号标签
        JTextField tsid=new JTextField("",20);//创建学号文本框
        JButton delStudent=new JButton("删除学生");//创建删除学生按钮
        JButton reset=new JButton("重置");
        public DelStudentInterface(){
            JPanel idPan=new JPanel();//创建学号面板
            JPanel bPan=new JPanel();
            
            idPan.add(lsid);
            idPan.add(tsid);
            bPan.add(delStudent);
            bPan.add(reset);
            delStudent.addActionListener(new ActionListener(){
                //注册delStudent监听器
                public void actionPerformed(ActionEvent e){
                    String id=tsid.getText();//取得学号信息
                    if(id==null||"".equals(id)){
                        JOptionPane.showMessageDialog(null, "学号不能为空!!!",
                                "**提示信息**",JOptionPane.INFORMATION_MESSAGE);
                        return;
                    }
                    if((DelStudentInformation.delete(id))<1){
                        JOptionPane.showMessageDialog(null, "删除失败!!!",
                                "**提示信息**",JOptionPane.INFORMATION_MESSAGE);
                        return;
                    }else{
                        JOptionPane.showMessageDialog(null, "删除"+id+"成功!!!",
                                "**提示信息**",JOptionPane.INFORMATION_MESSAGE);
                    }
                }
            });
            reset.addActionListener(new ActionListener(){
                //注册reset监听器
                public void actionPerformed(ActionEvent e){
                    tsid.setText("");
                }
                });
            this.setTitle("删除学生信息界面");//设置窗口标题
            this.setLayout(new GridLayout(2,1));//设置窗口布局管理器
            this.add(idPan);//将学号面板添加到窗体中
            this.add(bPan);
            this.setLocation(400,300);//设置窗体初始位置
            this.setSize(350,150);//设置窗体大小
            this.setVisible(true);//设置窗体可见
        }
    }
     


    package management;
    //获取学生成绩
    import java.sql.*;

    import javax.swing.JOptionPane;

    //import javax.swing.JOPtionPane;
    import sqlpackage.ResultSelect;

    public class ResultSelectInformation {

        public static double average() {
            // TODO Auto-generated method stub
            double result=0;
            String sql="Select AVG(result) From student";
            ResultSet rs=ResultSelect.executeQuery(sql);//获取结果集
            try{
                if(rs.next()){
                    result=rs.getDouble(1);
                }
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, "查询平均成绩发生异常","**提示信息**",
                        JOptionPane.INFORMATION_MESSAGE    );
            }
            return result;
        }
    /**
     * 求学生的总体成绩情况
     */
        public static int[] selectResult() {
            // TODO Auto-generated method stub
            int rate[]=new int[5];
            String sqlCount="Select count(id) from student";
            String failCount="select(select COUNT(result) from student where result<60);";
            String passCount="select(select COUNT(result) from student where result>=60 and result<75);";
            String fineCount="select(select COUNT(result) from student where result>=75 and result<85);";
            String excellentCount="select(select COUNT(result) from student where result>=85);";
            ResultSet rs=null;
            try{
                rs=ResultSelect.executeQuery(sqlCount);
                if(rs.next()){
                    rate[0]=rs.getInt(1);
                }
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, "查询总人数发生异常","**提示信息**",
                        JOptionPane.INFORMATION_MESSAGE    );
            }
            try{
                rs=ResultSelect.executeQuery(failCount);
                if(rs.next()){
                    rate[1]=rs.getInt(1);
                }
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, "查询不及格人数发生异常","**提示信息**",
                        JOptionPane.INFORMATION_MESSAGE    );
            }
            try{
                rs=ResultSelect.executeQuery(passCount);
                if(rs.next()){
                    rate[2]=rs.getInt(1);
                }
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, "查询及格人数发生异常","**提示信息**",
                        JOptionPane.INFORMATION_MESSAGE    );
            }
            try{
                rs=ResultSelect.executeQuery(fineCount);
                if(rs.next()){
                    rate[3]=rs.getInt(1);
                }
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, "查询良好人数发生异常","**提示信息**",
                        JOptionPane.INFORMATION_MESSAGE    );
            }
            try{
                rs=ResultSelect.executeQuery(excellentCount);
                if(rs.next()){
                    rate[4]=rs.getInt(1);
                }
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, "查询优秀发生异常","**提示信息**",
                        JOptionPane.INFORMATION_MESSAGE    );
            }
            return rate;
        }

    }
     


    希望能帮到大家。

    展开全文
  • 动态界面,非常好看,功能十分齐全,总共差不多6000行代码。Java实现,窗体技术,数据库使用了MySQL。
  • 用户名:SCY,密码:123 简单学生信息管理系统Swing版,没有连接数据库
  • java实现学生信息管理系统

    千次阅读 2020-01-02 19:05:59
    如何有效地管理这些学生的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。 1.1 系统功能分析 本系统主要的功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统的主要...

    1 系统需求分析 

    学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。 

    1.1 系统功能分析 

    本系统主要的功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统的主要功能有:

    l  ①学生个人信息输入,包括:姓名、性别、院系、生日、籍贯、生源所在地等。

    l  ②学生流动情况的输入,包括:转系、休学、复学、退学、毕业。

    ③奖惩情况的输入。

    l  ④学生个人情况查询和修改,包括流动情况和奖罚情况。 

    1.2 系统功能模块设计(划分) 

    根据系统功能要求可以将系统分解成几个模块来分别设计应用程序界面,如图所示。 

    1.3 与其它系统的关系

    学生信息管理系统是校园信息管理系统的一个组成部分。它为其它系统,如班级信息管理系统、教学管理系统、成绩单系统、宿舍分配系统等,提供学生的基本情况。同时需要其他系统提供的班级设置和院系设置等情况。这些系统可以使用同一个数据库,直接相互调用所需的数据。 

    1.4 数据流程图

    学生信息管理系统的数据流程如图所示。

     学生信息管理系统数据流程图 

    2 数据库设计

    2.1 数据库需求分析 

    根据上一节的数据流程图,可以列出以下记录学生信息所需的数据项和数据结构:

    l ①学生:学号、姓名、性别、生日、籍贯、所在院系、所在班级。

    l ②处罚记录:记录号、级别、处罚对象、记录时间、详细描述、是否生效。

    l ③奖励记录:记录号、级别、奖励对象、记录时间、详细描述。

    l ④学籍变更记录:记录号、变更情况、记录对象、记录时间、详细描述。

    所需的外部数据支持:

    l ①班级:班级编号、班级名称、所属院系。

    l ②院系:代码、名称。

    2.2 数据库概念结构设计 

    本系统所需数据的 E-R 模型图。

     

    2.3 数据库逻辑结构设计

    根据系统 E-R 图,需要设计 4 个数据表来存放学生的信息。为了系统的完整,系统中包括了应用程序设计中所需的 2 个外部数据表。为了优化数据表结构,部分字段采用代码形式,因此需要附加 3 个代码表。这 9 个数据表的结构如表 1 到表 9 所示。

    表 1 STUDENT 学生个人信息表   

     

    表 2 CHANGE 学籍变更信息表

     

    表 3 REWARD 奖励记录信息表

     

    表 4 PUNISHMENT 处罚记录信息表

     

    表 5 DEPARTMENT 院系信息表

    表 6 CLASS 班级信息表

     

    表7 密码表

     

    表 8 REWARD_LEVELS 奖励等级代码表

     

    表 9 PUNISH_LEVELS 处罚等级代码表

     

    2.4 数据库的建立 

     

    2.4.1 数据库的建立(请设计者完成

    不说了,直接上图上代码

     

     

    代码如下

    package com.itheima.jdbc;
    
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import java.awt.Font;
    import java.awt.HeadlessException;
    import javax.swing.JPasswordField;
    import javax.swing.SwingConstants;
    import java.awt.event.ActionListener;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.awt.event.ActionEvent;
    
    import javax.swing.ButtonGroup;
    import javax.swing.ImageIcon;
    import javax.swing.JRadioButton;
    import java.awt.Color;
    
    /**
     * 
     * @author lzg
     * @date 2019年12月21日 下午6:50:00
     * @Description
     */
    @SuppressWarnings("serial")
    public class Register extends JFrame {
    	public int flag = 1;
    	JDBCutil query = new JDBCutil();// 创建数据库的操作类对象,用于数据库的各种操作
    	private JPanel contentPane;
    	private JPasswordField passwordField_1;
    	private JTextField textField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Register frame = new Register();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public Register() {
    		setTitle("用户登录");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 435, 550);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);// 窗体居中显示
    
    		JLabel lblNewLabel = new JLabel("账 号:");
    		lblNewLabel.setForeground(Color.BLACK);
    		lblNewLabel.setHorizontalAlignment(SwingConstants.TRAILING);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		lblNewLabel.setBounds(38, 329, 50, 35);
    		contentPane.add(lblNewLabel);
    
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		textField.setBounds(98, 329, 311, 35);
    		contentPane.add(textField);
    		textField.setColumns(10);
    
    		JLabel label = new JLabel("密 码:");
    		label.setHorizontalAlignment(SwingConstants.TRAILING);
    		label.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		label.setBounds(38, 374, 50, 35);
    		contentPane.add(label);
    
    		passwordField_1 = new JPasswordField();
    		passwordField_1.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		passwordField_1.setBounds(98, 374, 311, 35);
    		contentPane.add(passwordField_1);
    
    		JButton button = new JButton("取消");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				JOptionPane.showMessageDialog(null, "恭喜你已安全退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				System.exit(0);
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(279, 460, 93, 41);
    		contentPane.add(button);
    
    		ButtonGroup group = new ButtonGroup();
    		JLabel lblNewLabel_1 = new JLabel("");
    		lblNewLabel_1
    				.setIcon(new ImageIcon(Register.class.getResource("/ico/u=1173560350,67453878&fm=26&gp=0[1].jpg")));
    		lblNewLabel_1.setBounds(0, 0, 424, 283);
    		contentPane.add(lblNewLabel_1);
    
    		JRadioButton rdbtnNewRadioButton = new JRadioButton("\u5B66\u751F");
    		rdbtnNewRadioButton.setSelected(true); // 默认选择
    		rdbtnNewRadioButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag = 1;// 学生
    			}
    		});
    		rdbtnNewRadioButton.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		rdbtnNewRadioButton.setBounds(128, 416, 69, 23);
    		contentPane.add(rdbtnNewRadioButton);
    
    		JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("\u6559\u5E08");
    		rdbtnNewRadioButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag = 2;// 教师
    			}
    		});
    		rdbtnNewRadioButton_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		rdbtnNewRadioButton_1.setBounds(248, 416, 61, 23);
    		contentPane.add(rdbtnNewRadioButton_1);
    		group.add(rdbtnNewRadioButton_1);
    		group.add(rdbtnNewRadioButton);
    
    		JButton btnNewButton = new JButton("登录");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				if (flag == 1) {
    					String sql = "select *from student_password where 账号='" + textField.getText() + "'and 密码='"
    							+ new String(passwordField_1.getPassword()) + "'";
    					try {
    						ResultSet rs = query.query(sql);// 调用数据库的查询方法
    						if (textField.getText().length() <= 0 && passwordField_1.getPassword().length <= 0) {
    							JOptionPane.showMessageDialog(null, "账号和密码不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						} else if (textField.getText().length() <= 0) {
    							JOptionPane.showMessageDialog(null, "账号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						} else if (passwordField_1.getPassword().length <= 0) {
    							JOptionPane.showMessageDialog(null, "密码不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						} else if (rs.next()) {
    							// 第一个参数是控制弹出对话框相对的中心位置,如果是null,则是在屏幕中间,如果是其它组件参数,则会在其它组件的中心弹出。
    							JOptionPane.showMessageDialog(null, "恭喜你已成功登录!", "信息", JOptionPane.INFORMATION_MESSAGE);
    							StudentViews frame = new StudentViews();
    							frame.setVisible(true);
    							dispose();
    						} else {
    							JOptionPane.showMessageDialog(null, "用户名或者密码不正确!", "警告", JOptionPane.ERROR_MESSAGE);
    							textField.requestFocus();
    							textField.setText(null);
    							passwordField_1.setText(null);
    						}
    					} catch (HeadlessException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					} catch (SQLException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    				}
    
    				if (flag == 2) {
    					String sql = "select *from teacher_password where 账号='" + textField.getText() + "'and 密码='"
    							+ new String(passwordField_1.getPassword()) + "'";
    					try {
    						ResultSet rs = query.query(sql);// 调用数据库的查询方法
    						if (textField.getText().length() <= 0 && passwordField_1.getPassword().length <= 0) {
    							JOptionPane.showMessageDialog(null, "账号和密码不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						} else if (textField.getText().length() <= 0) {
    							JOptionPane.showMessageDialog(null, "账号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						} else if (passwordField_1.getPassword().length <= 0) {
    							JOptionPane.showMessageDialog(null, "密码不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						} else if (rs.next()) {
    							// 第一个参数是控制弹出对话框相对的中心位置,如果是null,则是在屏幕中间,如果是其它组件参数,则会在其它组件的中心弹出。
    							JOptionPane.showMessageDialog(null, "恭喜你已成功登录!", "信息", JOptionPane.INFORMATION_MESSAGE);
    							TeacherViews frame = new TeacherViews();
    							frame.setVisible(true);
    							dispose();
    						} else {
    							JOptionPane.showMessageDialog(null, "用户名或者密码不正确!", "警告", JOptionPane.ERROR_MESSAGE);
    							textField.requestFocus();
    							textField.setText(null);
    							passwordField_1.setText(null);
    						}
    					} catch (HeadlessException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					} catch (SQLException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    				}
    			}
    		});
    		btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		btnNewButton.setBounds(156, 460, 93, 41);
    		contentPane.add(btnNewButton);
    
    		JButton button_1 = new JButton("注册");
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Post frame = new Post();
    				frame.setVisible(true);
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(37, 460, 93, 41);
    		contentPane.add(button_1);
    		
    		JLabel lblNewLabel_2 = new JLabel("");
    		lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 14));
    		lblNewLabel_2.setIcon(new ImageIcon(Register.class.getResource("/ico/用户名.png")));
    		lblNewLabel_2.setBounds(27, 329, 26, 35);
    		contentPane.add(lblNewLabel_2);
    		
    		JLabel label_1 = new JLabel("");
    		label_1.setIcon(new ImageIcon(Register.class.getResource("/ico/密码.png")));
    		label_1.setFont(new Font("宋体", Font.PLAIN, 14));
    		label_1.setBounds(27, 374, 26, 35);
    		contentPane.add(label_1);
    
    	}
    }
    
    package com.itheima.jdbc;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    /**
    * @author lzg
    * @date 2019年12月27日 上午9:37:52
    * @Description   
    */
    @SuppressWarnings("serial")
    public class Delete extends JFrame {
    	public int flag=1;
    	private JPanel contentPane;
    	private JTextField textField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Delete frame = new Delete();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public Delete() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("删除界面");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 607, 391);
    		contentPane = new JPanel();
    		contentPane.setBackground(Color.CYAN);
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);//将窗口居中
    		
    		JLabel lblNewLabel = new JLabel("请选择要删除的方式");
    		lblNewLabel.setForeground(Color.BLUE);
    		lblNewLabel.setBackground(Color.WHITE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 23));
    		lblNewLabel.setBounds(189, 23, 216, 31);
    		contentPane.add(lblNewLabel);
    		
    		JRadioButton rdbtnNewRadioButton = new JRadioButton("按学号删除");
    		rdbtnNewRadioButton.setBackground(Color.CYAN);
    		rdbtnNewRadioButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=1;
    			}
    		});
    		rdbtnNewRadioButton.setSelected(true);
    		rdbtnNewRadioButton.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton.setBounds(92, 82, 121, 23);
    		contentPane.add(rdbtnNewRadioButton);
    		
    		JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("按班级删除");
    		rdbtnNewRadioButton_1.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=2;
    			}
    		});
    		rdbtnNewRadioButton_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton_1.setBounds(92, 126, 121, 23);
    		contentPane.add(rdbtnNewRadioButton_1);
    		
    		JRadioButton rdbtnNewRadioButton_2 = new JRadioButton("按姓名删除");
    		rdbtnNewRadioButton_2.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_2.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=3;
    			}
    		});
    		rdbtnNewRadioButton_2.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton_2.setBounds(92, 170, 121, 23);
    		contentPane.add(rdbtnNewRadioButton_2);
    		
    		JRadioButton rdbtnNewRadioButton_3 = new JRadioButton("按专业删除");
    		rdbtnNewRadioButton_3.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_3.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=4;
    			}
    		});
    		rdbtnNewRadioButton_3.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton_3.setBounds(92, 216, 121, 23);
    		contentPane.add(rdbtnNewRadioButton_3);
    		
    		JButton btnNewButton = new JButton("确认");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    					if(flag==1) {
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							String s1=textField.getText();
    							JDBCutil jdbc=new JDBCutil();
    							String sql="delete from student where 学号=?";//先把改学号删除,再重新录入
    							jdbc.testUpdate(sql, s1);
    							JOptionPane.showMessageDialog(null, "恭喜你删除成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    						}											
    					}else if(flag==2) {
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的班级不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							String s1=textField.getText();
    							JDBCutil jdbc=new JDBCutil();
    							String sql="delete from student where 班级=?";//先把改学号删除,再重新录入
    							jdbc.testUpdate(sql, s1);
    							JOptionPane.showMessageDialog(null, "恭喜你删除成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    							}											
    					}else if(flag==3) {
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的姓名不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							String s1=textField.getText();
    							JDBCutil jdbc=new JDBCutil();
    							String sql="delete from student where 姓名=?";//先把改学号删除,再重新录入
    							jdbc.testUpdate(sql, s1);	
    							JOptionPane.showMessageDialog(null, "恭喜你删除成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    							}											
    					}else if(flag==4) {
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的专业不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							String s1=textField.getText();
    							JDBCutil jdbc=new JDBCutil();
    							String sql="delete from student where 专业=?";//先把改学号删除,再重新录入
    							jdbc.testUpdate(sql, s1);	
    							JOptionPane.showMessageDialog(null, "恭喜你删除成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
                                 }											
    					}			
    			}
    		});
    		btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		btnNewButton.setBounds(163, 279, 93, 42);
    		contentPane.add(btnNewButton);
    		
    		ButtonGroup group =  new ButtonGroup();
    		group.add(rdbtnNewRadioButton);
    		group.add(rdbtnNewRadioButton_1);
    		group.add(rdbtnNewRadioButton_2);
    		group.add(rdbtnNewRadioButton_3);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.BOLD, 15));
    		textField.setBounds(258, 148, 239, 31);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		JButton button = new JButton("退出");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "恭喜你已安全退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				dispose();
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(370, 279, 93, 42);
    		contentPane.add(button);
    	}
    
    }
    
    package com.itheima.jdbc;
    
    
    import java.awt.EventQueue;
    import java.awt.Font;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.ImageIcon;
    import java.awt.Color;
    
    /**
    * @author lzg
    * @date 2019年12月23日 下午9:18:18
    * @Description   
    */
    @SuppressWarnings("serial")
    public class InformationInput extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField textField;
    	private JTextField textField_1;
    	private JTextField textField_2;
    	private JTextField textField_3;
    	private JTextField textField_4;
    	private JTextField textField_5;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					InformationInput frame = new InformationInput();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	@SuppressWarnings({ "unchecked", "rawtypes" })
    	public InformationInput() {		
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("个人信息的录入");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 556);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);//将窗口居中
    		
    		JLabel lblNewLabel = new JLabel("学 号:");
    		lblNewLabel.setForeground(Color.WHITE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		lblNewLabel.setBounds(10, 10, 42, 15);
    		contentPane.add(lblNewLabel);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField.setBounds(62, 4, 271, 30);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		JLabel label = new JLabel("姓 名:");
    		label.setForeground(Color.WHITE);
    		label.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label.setBounds(10, 55, 47, 15);
    		contentPane.add(label);
    		
    		textField_1 = new JTextField();
    		textField_1.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_1.setColumns(10);
    		textField_1.setBounds(62, 49, 271, 30);
    		contentPane.add(textField_1);
    		
    		JLabel label_1 = new JLabel("性 别:");
    		label_1.setForeground(Color.WHITE);
    		label_1.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_1.setBounds(10, 100, 47, 15);
    		contentPane.add(label_1);
    		
    		JComboBox comboBox = new JComboBox();
    		comboBox.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "男", "女"}));
    		comboBox.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		comboBox.setToolTipText("");
    		comboBox.setBounds(62, 98, 89, 21);
    		contentPane.add(comboBox);
    		
    		JLabel label_2 = new JLabel("生 日:");
    		label_2.setForeground(Color.WHITE);
    		label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		label_2.setBounds(10, 139, 47, 15);
    		contentPane.add(label_2);
    		
    		textField_2 = new JTextField();
    		textField_2.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_2.setColumns(10);
    		textField_2.setBounds(62, 133, 271, 30);
    		contentPane.add(textField_2);
    		
    		JLabel label_3 = new JLabel("年 龄:");
    		label_3.setForeground(Color.WHITE);
    		label_3.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_3.setBounds(10, 183, 47, 15);
    		contentPane.add(label_3);
    		
    		textField_3 = new JTextField();
    		textField_3.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_3.setColumns(10);
    		textField_3.setBounds(62, 177, 271, 30);
    		contentPane.add(textField_3);
    		
    		JLabel label_4 = new JLabel("籍 贯:");
    		label_4.setForeground(Color.WHITE);
    		label_4.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_4.setBounds(10, 225, 47, 15);
    		contentPane.add(label_4);
    		
    		JComboBox comboBox_1 = new JComboBox();
    		comboBox_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "北京市 ", "天津市", "上海市 ", "重庆市", "河北省 ", "河南省 ", "云南省 ", "辽宁省 ", "黑龙江省 ", "湖南省", "安徽省", "山东省 ", "新疆维吾尔", "江苏省", "浙江省", "江西省", "湖北省", "广西壮族", "甘肃省", "山西省", "内蒙古", "陕西省", "吉林省", "福建省", "贵州省", "广东省", "青海省", "西藏", "四川省", "宁夏回族", "海南省"}));
    		comboBox_1.setBounds(62, 225, 89, 21);
    		contentPane.add(comboBox_1);
    		
    		JLabel label_5 = new JLabel("院 系:");
    		label_5.setForeground(Color.WHITE);
    		label_5.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_5.setBounds(10, 264, 47, 15);
    		contentPane.add(label_5);
    		
    		JComboBox comboBox_2 = new JComboBox();
    		comboBox_2.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "潇湘学院", "计算机学院", "软件学院", "教育学院", "体育科学学院", "医学院", "商学院,", "艺术学院", "政治学院", "管理学院,", "外国语学院,", "生命科学学院", "机械工程学院", "电子信息学院", "电气工程学院", "化学化工学院", "地理科学学院"}));
    		comboBox_2.setToolTipText("");
    		comboBox_2.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		comboBox_2.setBounds(62, 262, 89, 21);
    		contentPane.add(comboBox_2);
    		
    		JComboBox comboBox_3 = new JComboBox();
    		comboBox_3.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "软件工程", "经济学", "统计学", "哲学", "材料成型及控制工程、", "市场营销", "会计学", "生物工程", "人力资源管", "机械设计制造及自动化、", "通信工程", "自动化", "计算机科学与技术", "信息工程", "电子信息工程", "测绘工程", "英语", "翻译", "化学工程与工艺、", "制药工程"}));
    		comboBox_3.setToolTipText("");
    		comboBox_3.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		comboBox_3.setBounds(62, 297, 89, 21);
    		contentPane.add(comboBox_3);
    		
    		JLabel label_6 = new JLabel("专 业:");
    		label_6.setForeground(Color.WHITE);
    		label_6.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_6.setBounds(10, 301, 47, 15);
    		contentPane.add(label_6);
    		
    		JLabel label_7 = new JLabel("班 级:");
    		label_7.setForeground(Color.WHITE);
    		label_7.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_7.setBounds(10, 341, 47, 15);
    		contentPane.add(label_7);
    		
    		textField_4 = new JTextField();
    		textField_4.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_4.setColumns(10);
    		textField_4.setBounds(62, 335, 271, 30);
    		contentPane.add(textField_4);
    		
    		JLabel lblPhone = new JLabel("电 话:");
    		lblPhone.setForeground(Color.WHITE);
    		lblPhone.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		lblPhone.setBounds(10, 390, 90, 15);
    		contentPane.add(lblPhone);
    		
    		textField_5 = new JTextField();
    		textField_5.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_5.setColumns(10);
    		textField_5.setBounds(62, 384, 271, 30);
    		contentPane.add(textField_5);
    		
    		JButton button = new JButton("确定");
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(22, 446, 93, 41);
    		contentPane.add(button);
    		button.addActionListener(new ActionListener() { //数据的插入
    			public void actionPerformed(ActionEvent e) {
    				String s1=textField.getText();
    				String s2=textField_1.getText();
    				String s3=(String)comboBox.getSelectedItem();
    				String s4=textField_2.getText();
    				String s5=textField_3.getText();
    				String s6=(String)comboBox_1.getSelectedItem();
    				String s7=(String)comboBox_2.getSelectedItem();
    				String s8=(String)comboBox_3.getSelectedItem();
    				String s9=textField_4.getText();
    				String s10=textField_5.getText();
    				if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s2 == null || s2.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "姓名不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s3 == null || s3.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "性别不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s4 == null || s4.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "生日不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s5 == null || s5.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "年龄不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s6 == null || s6.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "籍贯不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s7 == null || s7.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "院系不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s8 == null || s8.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "专业不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s9 == null || s9.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "班级不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s10 == null || s10.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "电话不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else {
    					String sql="insert into student(学号,姓名,性别,生日,年龄,籍贯 ,院系,专业,班级,电话) values(?,?,?,?,?,?,?,?,?,?)";
    					JDBCutil jdbc=new JDBCutil();
    					jdbc.testUpdate(sql, s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);
    					JOptionPane.showMessageDialog(null, "信息录入成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				}
    			}
    		});
    		
    		JButton button_1 = new JButton("取消");
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(300, 446, 93, 41);
    		contentPane.add(button_1);
    		
    		JButton button_2 = new JButton("再次录入");
    		button_2.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				textField.setText("");
    				textField_1.setText("");
    				textField_2.setText("");
    				textField_3.setText("");
    				textField_4.setText("");
    				textField_5.setText("");
    				JOptionPane.showMessageDialog(null, "请再次录入信息!", "信息", JOptionPane.INFORMATION_MESSAGE);
    			}
    		});
    		button_2.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_2.setBounds(158, 446, 111, 41);
    		contentPane.add(button_2);
    		
    		JLabel lblNewLabel_1 = new JLabel("");
    		lblNewLabel_1.setIcon(new ImageIcon(InformationInput.class.getResource("/ico/653AD1ADFA0F5A89886F47B2C3C91595.jpg")));
    		lblNewLabel_1.setBounds(0, 0, 434, 517);
    		contentPane.add(lblNewLabel_1);
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "恭喜你已安全退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				dispose();
    			}
    		});
    
    	}
    }
    
    package com.itheima.jdbc;
    
    
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import java.awt.Font;
    import javax.swing.JTextField;
    import javax.swing.JComboBox;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.ImageIcon;
    import java.awt.Color;
    
    /**
    * @author lzg
    * @date 2019年12月23日 下午8:31:26
    * @Description   
    */
    @SuppressWarnings("serial")
    public class InformationOutput extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField textField;
    	private JTextField textField_1;
    	private JTextField textField_2;
    	private JTextField textField_3;
    	private JTextField textField_4;
    	private JTextField textField_5;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					InformationOutput frame = new InformationOutput();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 * @return 
    	 */
    
    
    	@SuppressWarnings({ "unchecked", "rawtypes" })
    	public InformationOutput() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("个人信息的修改");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 556);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);//将窗口居中
    		
    		JLabel lblNewLabel = new JLabel("学 号:");
    		lblNewLabel.setForeground(Color.WHITE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		lblNewLabel.setBounds(10, 16, 47, 15);
    		contentPane.add(lblNewLabel);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField.setBounds(62, 10, 271, 30);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		JLabel label = new JLabel("姓 名:");
    		label.setForeground(Color.WHITE);
    		label.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label.setBounds(10, 55, 47, 15);
    		contentPane.add(label);
    		
    		textField_1 = new JTextField();
    		textField_1.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_1.setColumns(10);
    		textField_1.setBounds(62, 49, 271, 30);
    		contentPane.add(textField_1);
    		
    		JLabel label_1 = new JLabel("性 别:");
    		label_1.setForeground(Color.WHITE);
    		label_1.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_1.setBounds(10, 100, 47, 15);
    		contentPane.add(label_1);
    		
    		JComboBox comboBox = new JComboBox();
    		comboBox.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "男", "女"}));
    		comboBox.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		comboBox.setToolTipText("");
    		comboBox.setBounds(62, 98, 89, 21);
    		contentPane.add(comboBox);
    		
    		JLabel label_2 = new JLabel("生 日:");
    		label_2.setForeground(Color.WHITE);
    		label_2.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_2.setBounds(10, 139, 47, 15);
    		contentPane.add(label_2);
    		
    		textField_2 = new JTextField();
    		textField_2.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_2.setColumns(10);
    		textField_2.setBounds(62, 133, 271, 30);
    		contentPane.add(textField_2);	
    		
    		JLabel label_3 = new JLabel("年 龄:");
    		label_3.setForeground(Color.WHITE);
    		label_3.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_3.setBounds(10, 183, 47, 15);
    		contentPane.add(label_3);
    		
    		textField_3 = new JTextField();
    		textField_3.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_3.setColumns(10);
    		textField_3.setBounds(62, 177, 271, 30);
    		contentPane.add(textField_3);
    		
    		JLabel label_4 = new JLabel("籍 贯:");
    		label_4.setForeground(Color.WHITE);
    		label_4.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_4.setBounds(10, 225, 47, 15);
    		contentPane.add(label_4);
    		
    		JComboBox comboBox_1 = new JComboBox();
    		comboBox_1.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "北京市 ", "天津市", "上海市 ", "重庆市", "河北省 ", "河南省 ", "云南省 ", "辽宁省 ", "黑龙江省 ", "湖南省", "安徽省", "山东省 ", "新疆维吾尔", "江苏省", "浙江省", "江西省", "湖北省", "广西壮族", "甘肃省", "山西省", "内蒙古", "陕西省", "吉林省", "福建省", "贵州省", "广东省", "青海省", "西藏", "四川省", "宁夏回族", "海南省"}));
    		comboBox_1.setBounds(62, 225, 89, 21);
    		contentPane.add(comboBox_1);
    		
    		JLabel label_5 = new JLabel("院 系:");
    		label_5.setForeground(Color.WHITE);
    		label_5.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_5.setBounds(10, 264, 47, 15);
    		contentPane.add(label_5);
    		
    		JComboBox comboBox_2 = new JComboBox();
    		comboBox_2.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "潇湘学院", "计算机学院", "软件学院", "教育学院", "体育科学学院", "医学院", "商学院,", "艺术学院", "政治学院", "管理学院,", "外国语学院,", "生命科学学院", "机械工程学院", "电子信息学院", "电气工程学院", "化学化工学院", "地理科学学院"}));
    		comboBox_2.setToolTipText("");
    		comboBox_2.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		comboBox_2.setBounds(62, 262, 89, 21);
    		contentPane.add(comboBox_2);
    		
    		JComboBox comboBox_3 = new JComboBox();
    		comboBox_3.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "软件工程", "经济学", "统计学", "哲学", "材料成型及控制工程、", "市场营销", "会计学", "生物工程", "人力资源管", "机械设计制造及自动化、", "通信工程", "自动化", "计算机科学与技术", "信息工程", "电子信息工程", "测绘工程、", "化学工程与工艺、", "制药工程"}));
    		comboBox_3.setToolTipText("");
    		comboBox_3.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		comboBox_3.setBounds(62, 297, 89, 21);
    		contentPane.add(comboBox_3);
    		
    		JLabel label_6 = new JLabel("专 业:");
    		label_6.setForeground(Color.WHITE);
    		label_6.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_6.setBounds(10, 301, 47, 15);
    		contentPane.add(label_6);
    		
    		JLabel label_7 = new JLabel("班 级:");
    		label_7.setForeground(Color.WHITE);
    		label_7.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		label_7.setBounds(10, 341, 47, 15);
    		contentPane.add(label_7);
    		
    		textField_4 = new JTextField();
    		textField_4.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_4.setColumns(10);
    		textField_4.setBounds(62, 335, 271, 30);
    		contentPane.add(textField_4);
    		
    		JButton button = new JButton("确定");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String s1=textField.getText();
    				String s2=textField_1.getText();
    				String s3=(String)comboBox.getSelectedItem();
    				String s4=textField_2.getText();
    				String s5=textField_3.getText();
    				String s6=(String)comboBox_1.getSelectedItem();
    				String s7=(String)comboBox_2.getSelectedItem();
    				String s8=(String)comboBox_3.getSelectedItem();
    				String s9=textField_4.getText();
    				String s10=textField_5.getText();
    				if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s2 == null || s2.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "姓名不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s3 == null || s3.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "性别不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s4 == null || s4.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "生日不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s5 == null || s5.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "年龄不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s6 == null || s6.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "籍贯不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s7 == null || s7.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "院系不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s8 == null || s8.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "专业不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s9 == null || s9.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "班级不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else if(s10 == null || s10.isEmpty()) {
    					JOptionPane.showMessageDialog(null, "电话不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else {
    					String sql="insert into student(学号,姓名,性别,生日,年龄,籍贯 ,院系,专业,班级,电话) values(?,?,?,?,?,?,?,?,?,?)";
    					JDBCutil jdbc=new JDBCutil();
    					jdbc.testUpdate(sql, s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);
    					JOptionPane.showMessageDialog(null, "信息录入成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				}
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(72, 446, 93, 41);
    		contentPane.add(button);
    		
    		JButton button_1 = new JButton("退出");
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				dispose();
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(255, 446, 93, 41);
    		contentPane.add(button_1);
    		
    		JLabel lblPhone = new JLabel("电 话:");
    		lblPhone.setForeground(Color.WHITE);
    		lblPhone.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		lblPhone.setBounds(10, 390, 90, 15);
    		contentPane.add(lblPhone);
    		
    		textField_5 = new JTextField();
    		textField_5.setFont(new Font("微软雅黑", Font.PLAIN, 16));
    		textField_5.setColumns(10);
    		textField_5.setBounds(62, 384, 271, 30);
    		contentPane.add(textField_5);
    		
    		JLabel lblNewLabel_1 = new JLabel("");
    		lblNewLabel_1.setIcon(new ImageIcon(InformationOutput.class.getResource("/ico/653AD1ADFA0F5A89886F47B2C3C91595.jpg")));
    		lblNewLabel_1.setBounds(0, 4, 434, 503);
    		contentPane.add(lblNewLabel_1);
    		
    
    	}
    }
    
    package com.itheima.jdbc;
    
    
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import java.awt.Font;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.awt.Color;
    
    /**
    * @author lzg
    * @date 2019年12月25日 下午3:48:56
    * @Description   
    */
    @SuppressWarnings("serial")
    public class InformationRepair extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField textField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					InformationRepair frame = new InformationRepair();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public InformationRepair() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("个人信息修改界面");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 648, 364);
    		contentPane = new JPanel();
    		contentPane.setBackground(Color.CYAN);
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);// 窗体居中显示
    		
    		JLabel lblNewLabel = new JLabel("请输入您的学号:");
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel.setBounds(59, 76, 144, 34);
    		contentPane.add(lblNewLabel);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		textField.setBounds(204, 76, 277, 35);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		JButton button = new JButton("确认");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				String s1=textField.getText();
    				if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "输入的学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else {
    					JDBCutil jdbc=new JDBCutil();
    					String sql="delete from student where 学号=?";//先把改学号删除,再重新录入
    					jdbc.testUpdate(sql, s1);
    					InformationOutput frame = new InformationOutput();
    					frame.setVisible(true);
    				}
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(152, 212, 93, 42);
    		contentPane.add(button);
    		
    		JButton button_1 = new JButton("退出");
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "恭喜你已安全退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				dispose();
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(400, 212, 93, 42);
    		contentPane.add(button_1);
    	}
    
    }
    
    package com.itheima.jdbc;
    
    import java.sql.*;
    import com.mysql.cj.jdbc.result.ResultSetMetaData;
    import com.mysql.cj.protocol.x.ResultMessageListener;
    /**
     * 
    * @author lzg
    * @date 2019年12月21日 下午6:49:22
    * @Description
     */
    @SuppressWarnings("unused")
    public class JDBCutil {
    	private Connection conn=null;
    	private PreparedStatement prpstmt=null;
    	ResultSet rs=null;
    	private  void creatConnect() { 
    		try {
    			Class.forName("com.mysql.cj.jdbc.Driver");
    			String url="jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=GMT%2B8";
    			String username="root";
    			String password="1855010107lzgLZG";
    			conn=DriverManager.getConnection(url,username,password);
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}	
    	}
    	private void closeConnect() {
    		if(conn!=null)
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	}
    	private void closeRs() {
    		if(rs!=null)
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	}
    	private void closePrpstmt() {
    		if(rs!=null)
    			try {
    				prpstmt.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	}
    	//通用的增删改操作
    	public void testUpdate(String sql,Object ...args) {//sql当中占位符的个数应该与可变形参的长度相同
    		//1.获取数据库的连接
    		try {
    			creatConnect();
    			//2.预编译SQL语句,返回PreparedStatement实例
    			prpstmt=conn.prepareStatement(sql);
    			//3.填充占位符
    			for(int i=0;i<args.length;i++) {
    				prpstmt.setObject(i+1, args[i]);
    			}
    			//4.执行
    			prpstmt.executeUpdate();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally {
    			//5.资源的关闭
    			closePrpstmt();
    			closeConnect();
    		}	
    	}
    	public  ResultSet query(String sql) {
    		try {
    			creatConnect();
    			prpstmt=conn.prepareStatement(sql);
    			rs=prpstmt.executeQuery();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}	
    		return rs;
    	}
    }
    
    
    package com.itheima.jdbc;
    
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JTextField;
    import java.awt.Font;
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.SwingConstants;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.ImageIcon;
    import java.awt.Color;
    
    /** 
     * 
    * @author lzg
    * @date 2019年12月26日 下午6:52:21
    * @Description
     */
    @SuppressWarnings("serial")
    public class Post extends JFrame {
    	public int flag=1;
    	private JPanel contentPane;
    	private JTextField textField;
    	private JPasswordField passwordField;
    	private JButton button_1;
    	JDBCutil query = new JDBCutil();/// 创建数据库的操作类对象,用于数据库的各种操作
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Post frame = new Post();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public Post() {
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 478, 360);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);//将窗口居中
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		textField.setColumns(10);
    		textField.setBounds(84, 44, 339, 35);
    		contentPane.add(textField);
    		
    		
    		JLabel label = new JLabel("账 号:");
    		label.setForeground(Color.WHITE);
    		label.setBackground(Color.WHITE);
    		label.setHorizontalAlignment(SwingConstants.TRAILING);
    		label.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		label.setBounds(21, 44, 53, 35);
    		contentPane.add(label);
    		
    		JLabel label_1 = new JLabel("密 码:");
    		label_1.setForeground(Color.WHITE);
    		label_1.setHorizontalAlignment(SwingConstants.TRAILING);
    		label_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		label_1.setBounds(21, 103, 53, 35);
    		contentPane.add(label_1);
    		
    		passwordField = new JPasswordField();
    		passwordField.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		passwordField.setBounds(84, 103, 339, 35);
    		contentPane.add(passwordField);
    		
    		
    		ButtonGroup group =  new ButtonGroup();
    		JRadioButton rdbtnNewRadioButton = new JRadioButton("学生");
    		rdbtnNewRadioButton.setBackground(Color.CYAN);
    		rdbtnNewRadioButton.setForeground(Color.BLACK);
    		rdbtnNewRadioButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				 flag=1;//学生		
    			}
    		});
    		rdbtnNewRadioButton.setSelected(true);
    		rdbtnNewRadioButton.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		rdbtnNewRadioButton.setBounds(111, 182, 73, 23);
    		contentPane.add(rdbtnNewRadioButton);
    		
    		JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("教师");
    		rdbtnNewRadioButton_1.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_1.setForeground(Color.BLACK);
    		rdbtnNewRadioButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				 flag=2;//教师			
    			}
    		});
    		rdbtnNewRadioButton_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		rdbtnNewRadioButton_1.setBounds(273, 182, 66, 23);
    		contentPane.add(rdbtnNewRadioButton_1);
    		group.add(rdbtnNewRadioButton_1);
    		group.add(rdbtnNewRadioButton);
    		
    		button_1 = new JButton("确认");
    		button_1.setIcon(null);
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				String s1=textField.getText();
    				String s2=new String(passwordField.getPassword());
    				if(flag==1) {
    					if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "账号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    					}else if(s2 == null || s2.isEmpty()) {
    						JOptionPane.showMessageDialog(null, "密码不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    					}else  {
    						String sql="insert into student_password(账号,密码) values(?,?)";
    						JDBCutil jdbc=new JDBCutil();
    						jdbc.testUpdate(sql, s1,s2);
    						JOptionPane.showMessageDialog(null, "恭喜你注册成功!", "消息", JOptionPane.INFORMATION_MESSAGE);
    						dispose();	
    					}
    				}else if(flag==2) {
    					if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "账号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    					}else if(s2 == null || s2.isEmpty()) {
    						JOptionPane.showMessageDialog(null, "密码不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    					}else  {
    						String sql="insert into teacher_password(账号,密码) values(?,?)";
    						JDBCutil jdbc=new JDBCutil();
    						jdbc.testUpdate(sql, s1,s2);
    						JOptionPane.showMessageDialog(null, "恭喜你注册成功!", "消息", JOptionPane.INFORMATION_MESSAGE);
    						dispose();	
    					}
    				}	
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(188, 227, 93, 41);
    		contentPane.add(button_1);
    		
    		JLabel lblNewLabel = new JLabel("");
    		lblNewLabel.setIcon(new ImageIcon(Post.class.getResource("/ico/C2BD2E79456D9B8F50203CAEF5FBA185.jpg")));
    		lblNewLabel.setBounds(0, 0, 462, 308);
    		contentPane.add(lblNewLabel);
    
    	}
    }
    
    package com.itheima.jdbc;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    /**
    * @author lzg
    * @date 2019年12月26日 上午10:37:25
    * @Description   
    */
    @SuppressWarnings("serial")
    public class Student_Punish extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField textField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Student_Punish frame = new Student_Punish();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	@SuppressWarnings({ "unchecked", "rawtypes" })
    	public Student_Punish() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("奖励情况输入");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 578, 325);
    		contentPane = new JPanel();
    		contentPane.setBackground(Color.ORANGE);
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		setLocationRelativeTo(null);//将窗口居中
    		contentPane.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("请输入你要改变的学生惩罚的学号:");
    		lblNewLabel.setForeground(Color.BLUE);
    		lblNewLabel.setBackground(Color.BLUE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel.setBounds(10, 29, 285, 40);
    		contentPane.add(lblNewLabel);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		textField.setColumns(10);
    		textField.setBounds(292, 34, 260, 33);
    		contentPane.add(textField);
    		
    		
    		JLabel lblNewLabel_1 = new JLabel("请输入惩罚变更代码:");
    		lblNewLabel_1.setForeground(Color.BLUE);
    		lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel_1.setBounds(52, 102, 171, 40);
    		contentPane.add(lblNewLabel_1);
    		
    		JComboBox comboBox = new JComboBox();
    		comboBox.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		comboBox.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "0", "1", "2", "3", "4", "5", "6"}));
    		comboBox.setBounds(224, 108, 84, 33);
    		contentPane.add(comboBox);
    		
    		JButton button = new JButton("确认");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String s1=textField.getText();
    				if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "输入的学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else {
    					JDBCutil jdbc=new JDBCutil();
    					String sql="update student_punish set CODE=? where 学号=?";	
    					String s2=(String)comboBox.getSelectedItem();
    					String s3=textField.getText();
    					jdbc.testUpdate(sql, s2,s3);
    					JOptionPane.showMessageDialog(null, "恭喜修改成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				}				
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(117, 190, 93, 42);
    		contentPane.add(button);
    		
    		JButton button_1 = new JButton("退出");
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "你已成功退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				dispose();
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(351, 190, 93, 42);
    		contentPane.add(button_1);
    		
    
    	
    	}
    
    }
    
    package com.itheima.jdbc;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    /**
    * @author lzg
    * @date 2019年12月26日 上午10:21:24
    * @Description   
    */
    @SuppressWarnings("serial")
    public class Student_Reward extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField textField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Student_Reward frame = new Student_Reward();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	@SuppressWarnings({ "unchecked", "rawtypes" })
    	public Student_Reward() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("奖励情况输入");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 578, 325);
    		contentPane = new JPanel();
    		contentPane.setBackground(Color.GREEN);
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		setLocationRelativeTo(null);//将窗口居中
    		contentPane.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("请输入你要改变的学生奖励的学号:");
    		lblNewLabel.setForeground(Color.BLUE);
    		lblNewLabel.setBackground(Color.BLUE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel.setBounds(10, 29, 285, 40);
    		contentPane.add(lblNewLabel);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		textField.setColumns(10);
    		textField.setBounds(292, 36, 260, 33);
    		contentPane.add(textField);
    		
    		JLabel lblNewLabel_1 = new JLabel("请输入奖励变更代码:");
    		lblNewLabel_1.setForeground(Color.BLUE);
    		lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel_1.setBounds(52, 102, 171, 40);
    		contentPane.add(lblNewLabel_1);
    		
    		JComboBox comboBox = new JComboBox();
    		comboBox.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		comboBox.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "0", "1", "2", "3", "4", "5", "6"}));
    		comboBox.setBounds(224, 108, 84, 33);
    		contentPane.add(comboBox);
    		
    		JButton button = new JButton("确认");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String s1=textField.getText();
    				if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "输入的学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else { 
    				JDBCutil jdbc=new JDBCutil();
    				String sql="update student_reward set CODE=? where 学号=?";	
    				String s2=(String)comboBox.getSelectedItem();
    				String s3=textField.getText();
    				jdbc.testUpdate(sql, s2,s3);
    				JOptionPane.showMessageDialog(null, "恭喜修改成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    			}
    				}
    				
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(117, 190, 93, 42);
    		contentPane.add(button);
    		
    		JButton button_1 = new JButton("退出");
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "你已成功退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				dispose();
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(351, 190, 93, 42);
    		contentPane.add(button_1);
    	}
    
    }
    
    package com.itheima.jdbc;
    
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import java.awt.Font;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import java.awt.Color;
    import javax.swing.JTextField;
    import javax.swing.JComboBox;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    
    /**
    * @author lzg
    * @date 2019年12月26日 上午9:48:15
    * @Description   
    */
    @SuppressWarnings("serial")
    public class StudentChange extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField textField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					StudentChange frame = new StudentChange();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	@SuppressWarnings({ "unchecked", "rawtypes" })
    	public StudentChange() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("学籍改变输入");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 578, 325);
    		contentPane = new JPanel();
    		contentPane.setBackground(Color.MAGENTA);
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		setLocationRelativeTo(null);//将窗口居中
    		contentPane.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("请输入你要改变的学生学籍的学号:");
    		lblNewLabel.setForeground(Color.BLUE);
    		lblNewLabel.setBackground(Color.BLUE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel.setBounds(10, 29, 285, 40);
    		contentPane.add(lblNewLabel);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		textField.setBounds(292, 35, 260, 33);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		JLabel lblNewLabel_1 = new JLabel("请输入学籍变更代码:");
    		lblNewLabel_1.setForeground(Color.BLUE);
    		lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		lblNewLabel_1.setBounds(52, 102, 171, 40);
    		contentPane.add(lblNewLabel_1);
    		
    		JComboBox comboBox = new JComboBox();
    		comboBox.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		comboBox.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "0", "1", "2", "3", "4"}));
    		comboBox.setBounds(224, 108, 84, 33);
    		contentPane.add(comboBox);
    		
    		JButton button = new JButton("确认");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String s1=textField.getText();
    				if(s1 == null || s1.isEmpty()){
    					JOptionPane.showMessageDialog(null, "输入的学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    				}else {
    					JDBCutil jdbc=new JDBCutil();
    					String sql="update student_change set CODE=? where 学号=?";	
    					String s2=(String)comboBox.getSelectedItem();
    					String s3=textField.getText();
    					jdbc.testUpdate(sql, s2,s3);
    					JOptionPane.showMessageDialog(null, "恭喜修改成功!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				}
    				
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(117, 190, 93, 42);
    		contentPane.add(button);
    		
    		JButton button_1 = new JButton("退出");
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "你已成功退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				dispose();
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(351, 190, 93, 42);
    		contentPane.add(button_1);
    	}
    }
    
    package com.itheima.jdbc;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import java.awt.Font;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import java.awt.Color;
    import javax.swing.JRadioButton;
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    import java.awt.event.ActionListener;
    import java.sql.ResultSet;
    import java.awt.event.ActionEvent;
    
    /**
    * @author lzg
    * @date 2019年12月25日 下午2:26:04
    * @Description   
    */
    @SuppressWarnings("serial")
    public class StudentSelect extends JFrame {
    	JDBCutil query = new JDBCutil();// 创建数据库的操作类对象,用于数据库的各种操作
    	public int flag=1;
    	private JPanel contentPane;
    	private JTextField textField;
    
    
    	/**
    	 * Create the frame.
    	 */
    	public StudentSelect() {
    		setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setTitle("查询界面");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 607, 391);
    		contentPane = new JPanel();
    		contentPane.setBackground(Color.CYAN);
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		setLocationRelativeTo(null);//将窗口居中
    		
    		JLabel lblNewLabel = new JLabel("请选择要查询的方式");
    		lblNewLabel.setForeground(Color.BLUE);
    		lblNewLabel.setBackground(Color.WHITE);
    		lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 23));
    		lblNewLabel.setBounds(189, 23, 216, 31);
    		contentPane.add(lblNewLabel);
    		
    		JRadioButton rdbtnNewRadioButton = new JRadioButton("按学号查询");
    		rdbtnNewRadioButton.setBackground(Color.CYAN);
    		rdbtnNewRadioButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=1;
    			}
    		});
    		rdbtnNewRadioButton.setSelected(true);
    		rdbtnNewRadioButton.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton.setBounds(92, 82, 121, 23);
    		contentPane.add(rdbtnNewRadioButton);
    		
    		JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("按班级查询");
    		rdbtnNewRadioButton_1.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=2;
    			}
    		});
    		rdbtnNewRadioButton_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton_1.setBounds(92, 126, 121, 23);
    		contentPane.add(rdbtnNewRadioButton_1);
    		
    		JRadioButton rdbtnNewRadioButton_2 = new JRadioButton("按姓名查询");
    		rdbtnNewRadioButton_2.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_2.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=3;
    			}
    		});
    		rdbtnNewRadioButton_2.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton_2.setBounds(92, 170, 121, 23);
    		contentPane.add(rdbtnNewRadioButton_2);
    		
    		JRadioButton rdbtnNewRadioButton_3 = new JRadioButton("按专业查询");
    		rdbtnNewRadioButton_3.setBackground(Color.CYAN);
    		rdbtnNewRadioButton_3.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				flag=4;
    			}
    		});
    		rdbtnNewRadioButton_3.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		rdbtnNewRadioButton_3.setBounds(92, 216, 121, 23);
    		contentPane.add(rdbtnNewRadioButton_3);
    		
    		JButton btnNewButton = new JButton("确认");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    					if(flag==1) {
    						String sql2 = "select *from student where 学号='"+textField.getText().trim()+"'";
    						ResultSet rs2 = query.query(sql2);// 调用数据库的查询方法
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的学号不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							@SuppressWarnings("unused")
    							StudntInformationSelect select=new StudntInformationSelect(rs2);
    						}											
    					}else if(flag==2) {
    						String sql2 = "select *from student where 班级='"+textField.getText().trim()+"'";
    						ResultSet rs2 = query.query(sql2);// 调用数据库的查询方法
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的班级不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							@SuppressWarnings("unused")
    							StudntInformationSelect select=new StudntInformationSelect(rs2);
    						}											
    					}else if(flag==3) {
    						String sql2 = "select *from student where 姓名='"+textField.getText().trim()+"'";
    						ResultSet rs2 = query.query(sql2);// 调用数据库的查询方法
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的姓名不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							@SuppressWarnings("unused")
    							StudntInformationSelect select=new StudntInformationSelect(rs2);
    						}											
    					}else if(flag==4) {
    						String sql2 = "select *from student where 专业='"+textField.getText().trim()+"'";
    						ResultSet rs2 = query.query(sql2);// 调用数据库的查询方法
    						if(textField.getText() == null || textField.getText().isEmpty()) {
    							JOptionPane.showMessageDialog(null, "输入的专业不能为空", "警告", JOptionPane.ERROR_MESSAGE);
    						}else {
    							@SuppressWarnings("unused")
    							StudntInformationSelect select=new StudntInformationSelect(rs2);
    						}											
    					}			
    			}
    		});
    		btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		btnNewButton.setBounds(163, 279, 93, 42);
    		contentPane.add(btnNewButton);
    		
    		ButtonGroup group =  new ButtonGroup();
    		group.add(rdbtnNewRadioButton);
    		group.add(rdbtnNewRadioButton_1);
    		group.add(rdbtnNewRadioButton_2);
    		group.add(rdbtnNewRadioButton_3);
    		
    		textField = new JTextField();
    		textField.setFont(new Font("微软雅黑", Font.BOLD, 15));
    		textField.setBounds(258, 148, 239, 31);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		JButton button = new JButton("退出");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				dispose();
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(370, 279, 93, 42);
    		contentPane.add(button);
    		
    		JButton btnNewButton_1 = new JButton("查询所有学生信息");
    		btnNewButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String sql2 = "select *from student";
    				ResultSet rs2 = query.query(sql2);// 调用数据库的查询方法
    					@SuppressWarnings("unused")
    					StudntInformationSelect select=new StudntInformationSelect(rs2);
    			}
    		});
    		btnNewButton_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
    		btnNewButton_1.setBounds(219, 238, 186, 31);
    		contentPane.add(btnNewButton_1);
    	}
    }
    
    package com.itheima.jdbc;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import javax.swing.JFrame;
    import javax.swing.JMenuBar;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JMenu;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JLabel;
    import javax.swing.ImageIcon;
    
    /**
    * @author lzg
    * @date 2019年12月23日 下午8:09:39
    * @Description   
    */
    @SuppressWarnings("serial")
    public class StudentViews extends JFrame {
    
    	@SuppressWarnings("unused")
    	private JPanel contentPane;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					StudentViews frame = new StudentViews();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public StudentViews() {
    		getContentPane().setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setBackground(Color.RED);
    		setForeground(Color.BLUE);
    		setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		setTitle("学生信息管理系统");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 544, 374);
    		setLocationRelativeTo(null);//将窗口居中
    		getContentPane().setLayout(null);
    		
    		JMenuBar menuBar = new JMenuBar();
    		menuBar.setBounds(0, 0, 350, 40);
    		getContentPane().add(menuBar);
    		
    		JMenu mnNewMenu = new JMenu("学生个人信息录入");
    		mnNewMenu.setForeground(Color.LIGHT_GRAY);
    		mnNewMenu.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				InformationInput frame = new InformationInput();
    				frame.setVisible(true);
    			}
    		});
    		mnNewMenu.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(mnNewMenu);
    		
    		JMenu mnNewMenu_1 = new JMenu("个人信息的查看");
    		mnNewMenu_1.setForeground(Color.LIGHT_GRAY);
    		mnNewMenu_1.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
    				StudentSelect frame = new StudentSelect();
    				frame.setVisible(true);
    			}
    		});
    		mnNewMenu_1.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(mnNewMenu_1);
    		
    		JMenu menu = new JMenu("个人信息的修改");
    		menu.setForeground(Color.LIGHT_GRAY);
    		menu.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
    				InformationRepair frame = new InformationRepair();
    				frame.setVisible(true);
    			}
    		});
    		menu.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(menu);
    		
    		JButton button = new JButton("退出");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				System.exit(0);
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(1057, 10, 93, 42);
    		getContentPane().add(button);
    		
    		JLabel lblNewLabel = new JLabel("");
    		lblNewLabel.setIcon(new ImageIcon(StudentViews.class.getResource("/ico/u=2781215003,3095086959&fm=26&gp=0[1].jpg")));
    		lblNewLabel.setBounds(0, 39, 532, 300);
    		getContentPane().add(lblNewLabel);
    		
    		JButton button_1 = new JButton("退出");
    		button_1.setForeground(Color.CYAN);
    		button_1.setBackground(Color.LIGHT_GRAY);
    		button_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				JOptionPane.showMessageDialog(null, "恭喜你已安全退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				System.exit(0);				
    			}
    		});
    		button_1.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button_1.setBounds(435, 0, 93, 40);
    		getContentPane().add(button_1);
    	}
    }
    
    package com.itheima.jdbc;
    
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Vector;
    import javax.swing.*;
    import javax.swing.JTable;
    import java.awt.Font;
    /**
     * 
    * @author lzg
    * @date 2019年12月25日 上午8:34:50
    * @Description
     */
    @SuppressWarnings("serial")
    public class StudntInformationSelect extends JFrame {
    	JDBCutil query = new JDBCutil();// 创建数据库的操作类对象,用于数据库的各种操作
    	//从数据库中取出信息
    	//rowData用来存放行数据
    	//columnNames存放列名
    	@SuppressWarnings("rawtypes")
    	Vector rowData,columnNames;
    	JTable jt=null;
    	JScrollPane jsp=null;
    
    	//构造函数
    		@SuppressWarnings({ "rawtypes", "unchecked" })
    		public StudntInformationSelect(ResultSet rs){
    			getContentPane().setFont(new Font("微软雅黑", Font.PLAIN, 14));
    			setTitle("学生信息查询界面");
    			setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		
    			columnNames=new Vector();
    			//设置列名
    			columnNames.add("学号");
    			columnNames.add("名字");
    			columnNames.add("性别");
    			columnNames.add("生日");
    			columnNames.add("年龄");
    			columnNames.add("籍贯");
    			columnNames.add("院系");
    			columnNames.add("专业");
    			columnNames.add("班级");
    			columnNames.add("电话");
    			rowData = new Vector();
    			//rowData可以存放多行,开始从数据库里取
    			try {
    				// 将查询获得的记录数据,转换成适合生成JTable的数据形式
    				while(rs.next()){
    					//rowData可以存放多行
    					Vector hang=new Vector();
    					hang.add(rs.getObject(1));
    					hang.add(rs.getObject(2));
    					hang.add(rs.getObject(3));
    					hang.add(rs.getObject(4));
    					hang.add(rs.getObject(5));
    					hang.add(rs.getObject(6));
    					hang.add(rs.getObject(7));
    					hang.add(rs.getObject(8));
    					hang.add(rs.getObject(9));
    					hang.add(rs.getObject(10));					
    					//加入到rowData
    					rowData.add(hang);
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			} finally{
    					try {
    						if(rs!=null){
    						rs.close();
    						}
    					} catch (SQLException e) {
    						e.printStackTrace();
    					}
    			}
    			//初始化Jtable
    			jt = new JTable(rowData,columnNames);
    			jt.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    			//初始化 jsp
    			jsp = new JScrollPane(jt);
    			//把jsp放入到jframe
    			getContentPane().add(jsp);
    			this.setSize(935,366);
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			this.setVisible(true);
    			setLocationRelativeTo(null);// 窗体居中显示
    		}
    }
    
    package com.itheima.jdbc;
    
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import java.awt.Color;
    import java.awt.Font;
    import javax.swing.JMenuBar;
    import javax.swing.JMenu;
    import javax.swing.JLabel;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JOptionPane;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    /**
     * 
    * @author lzg
    * @date 2019年12月22日 下午6:13:18
    * @Description
     */
    @SuppressWarnings("serial")
    public class TeacherViews extends JFrame {
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					TeacherViews frame = new TeacherViews();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public TeacherViews() {
    		getContentPane().setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		setBackground(Color.RED);
    		setForeground(Color.BLUE);
    		setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		setTitle("学生信息管理系统");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 540, 375);
    		setLocationRelativeTo(null);//将窗口居中
    		getContentPane().setLayout(null);
    		
    		JMenuBar menuBar = new JMenuBar();
    		menuBar.setBounds(0, 0, 422, 36);
    		getContentPane().add(menuBar);
    		
    		JMenu mnNewMenu_2 = new JMenu("学籍变更");
    		mnNewMenu_2.setForeground(Color.LIGHT_GRAY);
    		mnNewMenu_2.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				StudentChange frame = new StudentChange();
    				frame.setVisible(true);
    			}
    		});
    		mnNewMenu_2.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(mnNewMenu_2);
    		
    		JMenu mnNewMenu_3 = new JMenu("奖学金评定");
    		mnNewMenu_3.setForeground(Color.LIGHT_GRAY);
    		mnNewMenu_3.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
    				Student_Reward frame = new Student_Reward();
    				frame.setVisible(true);
    			}
    		});
    		mnNewMenu_3.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(mnNewMenu_3);
    		
    		JMenu mnNewMenu_4 = new JMenu("处罚记录");
    		mnNewMenu_4.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				Student_Punish frame = new Student_Punish();
    				frame.setVisible(true);
    			}
    		});
    		mnNewMenu_4.setForeground(Color.LIGHT_GRAY);
    		mnNewMenu_4.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(mnNewMenu_4);
    		
    		JMenu mnNewMenu_6 = new JMenu("学生情况查询");
    		mnNewMenu_6.setForeground(Color.LIGHT_GRAY);
    		mnNewMenu_6.addMouseListener(new MouseAdapter() {//鼠标点击事件
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				StudentSelect frame = new StudentSelect();
    				frame.setVisible(true);
    			}
    		});
    		mnNewMenu_6.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(mnNewMenu_6);
    		
    		JMenu menu = new JMenu("学生信息删除");
    		menu.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				Delete frame = new Delete();
    				frame.setVisible(true);
    			}
    		});
    		menu.setForeground(Color.LIGHT_GRAY);
    		menu.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    		menuBar.add(menu);
    		
    		JButton button = new JButton("退出");
    		button.setForeground(Color.CYAN);
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JOptionPane.showMessageDialog(null, "恭喜你已安全退出!", "信息", JOptionPane.INFORMATION_MESSAGE);
    				System.exit(0);	
    			}
    		});
    		button.setFont(new Font("微软雅黑", Font.BOLD, 18));
    		button.setBounds(432, 0, 93, 40);
    		getContentPane().add(button);
    		
    		JLabel lblNewLabel = new JLabel("");
    		lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 14));
    		lblNewLabel.setIcon(new ImageIcon(TeacherViews.class.getResource("/ico/u=3124827981,3461964212&fm=26&gp=0[1].jpg")));
    		lblNewLabel.setBounds(0, 38, 525, 300);
    		getContentPane().add(lblNewLabel);
    
    	}
    }
    

    图片我就不发了,自己去网上随便找一点贴上去。

    有问题联系我:qq:2248557717

     

    展开全文
  • java学生管理系统界面设计

    万次阅读 多人点赞 2019-07-05 13:16:30
    关于学生管理系统的界面设计:代码如下: 数据库设计 DROP TABLE IF EXISTS `stu`; CREATE TABLE `stu` ( `stuId` int(11) NOT NULL AUTO_INCREMENT, `stuName` varchar(30) DEFAULT NULL, `stuSex` varchar(30) ...

    关于学生管理系统的界面设计:代码如下:
    数据库设计

    DROP TABLE IF EXISTS `stu`;
    CREATE TABLE `stu` (
      `stuId` int(11) NOT NULL AUTO_INCREMENT,
      `stuName` varchar(30) DEFAULT NULL,
      `stuSex` varchar(30) DEFAULT NULL,
      `stuAge` int(11) DEFAULT NULL,
      `stuJg` varchar(30) DEFAULT NULL,
      `stuDept` varchar(30) DEFAULT NULL,
      PRIMARY KEY (`stuId`)
    ) ENGINE=MyISAM AUTO_INCREMENT=10002 DEFAULT CHARSET=utf8;
    

    添加学生信息界面

    /**
     * @author 逸軒
     * https://www.jianshu.com/u/1b1f7b0b32d6
     */
    import java.awt.BorderLayout;  
    import java.awt.Dialog;  
    import java.awt.Frame;  
    import java.awt.GridLayout;  
    import java.awt.event.ActionEvent;  
    import java.awt.event.ActionListener;  
      
    import javax.swing.*;  
      
    public class StuAddDialog extends JDialog implements ActionListener{  
        //=========面板控件  
        //......左侧标题栏  
        private JLabel idLab,nameLab,sexLab,ageLab,jgLab,deptLab;  
        //......右侧信息选择填写栏  
        private JTextField idTxt,nameTxt,sexTxt,ageTxt,jgTxt,deptTxt;  
        //......添加和取消按钮  
        private JButton addBtn,cancelBtn;  
        //......布局控件  
        private JPanel left,center,bottom;  
          
        //构造函数  
        public StuAddDialog(Frame owner, String title, boolean modal)   
        {  
            //========重写父类方法  
            super(owner, title, modal);  
            //========左侧标签栏  
            idLab = new JLabel("学号: ");  
            nameLab = new JLabel("姓名: ");  
            sexLab = new JLabel("性别: ");  
            ageLab = new JLabel("年龄: ");  
            jgLab = new JLabel("籍贯: ");  
            deptLab = new JLabel("系别: ");  
            //========右侧信息填写栏  
            idTxt = new JTextField();  
            nameTxt = new JTextField();  
            sexTxt = new JTextField();  
            ageTxt = new JTextField();  
            jgTxt = new JTextField();  
            deptTxt = new JTextField();  
            //========添加和取消按钮  
            addBtn = new JButton("添加");  
            cancelBtn = new JButton("取消");  
            //......添加监听  
            addBtn.addActionListener(this);  
            addBtn.setActionCommand("add");  
            cancelBtn.addActionListener(this);  
            cancelBtn.setActionCommand("cancel");  
            //========创建布局  
            //......创建左边栏  
            left = new JPanel();  
            left.setLayout(new GridLayout(6, 1));  
            left.add(idLab);  left.add(nameLab);   
            left.add(sexLab); left.add(ageLab);   
            left.add(jgLab);  left.add(deptLab);   
            //......创建右边栏  
            center = new JPanel();  
            center.setLayout(new GridLayout(6, 1));  
            center.add(idTxt);  center.add(nameTxt);  
            center.add(sexTxt); center.add(ageTxt);  
            center.add(jgTxt);  center.add(deptTxt);  
            //========底层添加和取消按钮  
            bottom = new JPanel();  
            bottom.add(addBtn);  
            bottom.add(cancelBtn);  
            //========整体布局  
            this.add(left,BorderLayout.WEST);  
            this.add(center,BorderLayout.CENTER);  
            this.add(bottom,BorderLayout.SOUTH);  
            //========设置窗口属性  
              
            this.setSize(300, 250);  
            this.setResizable(false);  
            this.setVisible(true);  
        }  
      
        @Override  
        public void actionPerformed(ActionEvent e)   
        {  
            // TODO Auto-generated method stub  
            if(e.getActionCommand().equals("add")) {  
                /***********************添加学生信息**************************/  
                StuModel tmp = new StuModel();  
                String sql = "insert into stu values(?,?,?,?,?,?)";  
                String []paras = {idTxt.getText(),nameTxt.getText(),sexTxt.getText(),  
                                ageTxt.getText(),jgTxt.getText(),deptTxt.getText()};  
                if(!tmp.cudStu(sql, paras))  
                    JOptionPane.showMessageDialog(this, "添加学生信息失败");  
                //========关闭窗口  
                this.dispose();  
            } else if(e.getActionCommand().equals("cancel")) {  
                //========关闭窗口  
                this.dispose();  
            }  
        }  
    }  
    

    数据库连接

    /**
     * @author 逸軒
     * https://www.jianshu.com/u/1b1f7b0b32d6
     */
    import java.sql.*;  
    
    public class SqlHelper {  
        //========数据库  
        private Connection ct = null;  
        private PreparedStatement ps = null;  
        private ResultSet rs = null;  
        private String driver = "com.mysql.jdbc.Driver";  //后面加上utf-8 不然中文乱码
        private String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";  
        private String user = "root";  
        private String passwd = "";  
          
        //========查询  
        public ResultSet queryExecute(String sql, String []paras)  
        {  
            try {  
                //========1、加载驱动  
                Class.forName(driver);  
                //========2、连接  
                ct = DriverManager.getConnection(url, user, passwd);  
                //========3、创建PreparedStatement  
                ps = ct.prepareStatement(sql);  
                //========4、给问号赋值  
                if(paras != null) {  
                    for(int i = 0; i < paras.length; i++) {  
                        ps.setString(i + 1, paras[i]);  
                    }  
                }  
                //========5、执行  
                rs = ps.executeQuery();  
            } catch (Exception e) {  
                // TODO: handle exception  
                e.printStackTrace();  
            } finally {  
                //this.close();  
            }  
            //========返回值  
            return rs;  
        }  
          
        //========增删改  
        public boolean cudExecute(String sql, String []paras)  
        {  
            boolean b = true;  
            try {  
                //========1、加载驱动  
                Class.forName(driver);  
                //========2、连接  
                ct = DriverManager.getConnection(url, user, passwd);  
                //========3、创建PreparedStatement  
                ps = ct.prepareStatement(sql);  
                //========4、给问号赋值  
                for(int i = 0; i < paras.length; i++) {  
                    ps.setString(i + 1, paras[i]);  
                }  
                //========5、执行  
                if(ps.executeUpdate() != 1) b = false;  
            } catch (Exception e) {  
                // TODO: handle exception  
                b = false;  
                e.printStackTrace();  
            } finally {  
                this.close();  
            }  
            //========返回值  
            return b;  
        }  
          
        //========关闭资源  
        public void close()  
        {  
            try {  
                if(rs!=null) rs.close();  
                if(ps!=null) ps.close();  
                if(ct!=null) ct.close();  
            } catch (Exception e2) {  
                // TODO: handle exception  
                e2.printStackTrace();  
            }  
        }  
          
    }  
    

    学生管理界面有查询功能、修改信息功能、删除功能

    /**
     * @author 逸軒
     * https://www.jianshu.com/u/1b1f7b0b32d6
     */
    import java.awt.*;  
    import javax.swing.*;  
    import java.awt.event.*;  
      
    public class StudentManage extends JFrame implements ActionListener   
    {  
        /** 
         * @param args 
         */  
        public static void main(String[] args)   
        {  
            // TODO Auto-generated method stub  
            new StudentManage();  
        }  
      
        //========面板控件  
        private JLabel queryLab = null;  
        private JTextField queryTxt = null;  
        private JButton queryBtn = null;  
        private JButton allBtn = null;  
        private JTable resultTb = null;  
        private JScrollPane jsp = null;  
        private JButton addBtn = null;  
        private JButton deleteBtn = null;  
        private JButton updateBtn = null;  
        private JPanel top = null;  
        private JPanel bottom = null;  
        //========  
        private StuModel sm = null;  
          
        //构造函数  
        public StudentManage()  
        {  
        	super("学生管理系统");
            /***************************初始化面板控件***********************/  
            //========查询栏  
            queryLab = new JLabel("请输入姓名:");  
            queryTxt = new JTextField(10);  
            queryBtn = new JButton("查询");  
            allBtn = new JButton("全部");  
            //......添加查询栏监听  
            queryBtn.addActionListener(this);  
            queryBtn.setActionCommand("query");  
            allBtn.addActionListener(this);  
            allBtn.setActionCommand("all");  
            //========增删改栏  
            addBtn = new JButton("添加");  
            deleteBtn = new JButton("删除");  
            updateBtn = new JButton("修改");  
            //......添加增删改栏监听  
            addBtn.addActionListener(this);  
            addBtn.setActionCommand("add");  
            deleteBtn.addActionListener(this);  
            deleteBtn.setActionCommand("delete");  
            updateBtn.addActionListener(this);  
            updateBtn.setActionCommand("update");  
            //========创建窗口整体布局  
            //......顶层查询栏  
            top = new JPanel();  
            top.add(queryLab);  
            top.add(queryTxt);  
            top.add(queryBtn);  
            top.add(allBtn);  
            //......底层增删改栏  
            bottom = new JPanel();  
            bottom.add(addBtn);  
            bottom.add(deleteBtn);  
            bottom.add(updateBtn);  
            //......中间层显示栏  
            sm = new StuModel();  
            String sql = "select * from stu";  
            sm.queryStu(sql, null);  
            resultTb = new JTable(sm);  
            jsp = new JScrollPane(resultTb);  
            //......构建整体布局  
            this.add(top,BorderLayout.NORTH);  
            this.add(jsp,BorderLayout.CENTER);  
            this.add(bottom,BorderLayout.SOUTH);  
            //========设置窗口属性  
            this.setSize(400, 300);  
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
            this.setVisible(true);  
            this.setResizable(false);  
        }  
          
        //监听  
        @Override  
        public void actionPerformed(ActionEvent e)  
        {  
            // TODO Auto-generated method stub  
            if(e.getActionCommand().equals("query")) {  
                /*********************查询***********************/  
                //========获取输入学生的姓名  
                String name = queryTxt.getText().trim();  
                if(name.length() != 0) {  
                    //========姓名输入有效时,执行查询  
                    //......定义参数  
                    String sql = "select * from stu where stuName=?";  
                    String []paras = {name};  
                    //......更新模型  
                    jtableUpdate(sql, paras);  
                } else {  
                    //========姓名为空时,设置提醒  
                    JOptionPane.showMessageDialog(this, "姓名输入不能为空");  
                }  
            } else if(e.getActionCommand().equals("add")) {  
                /*********************添加***********************/  
                new StuAddDialog(this, "添加学生信息", true);  
                String sql = "select * from stu";  
                jtableUpdate(sql, null);  
            } else if(e.getActionCommand().equals("all")) {  
                /*********************全部显示***********************/  
                String sql = "select * from stu";  
                jtableUpdate(sql, null);  
            } else if(e.getActionCommand().equals("delete")) {  
                /*********************删除***********************/  
                //========获取选择行号  
                int rowNum = this.resultTb.getSelectedRow();  
                if(rowNum == -1) {  
                    JOptionPane.showMessageDialog(this, "请选择一行");  
                    return ;  
                }  
                //========获取学生ID号  
                String stuId = (String)sm.getValueAt(rowNum, 0);  
                //========删除学生  
                String sql = "delete from stu where stuId=?";  
                String []paras = {stuId};  
                StuModel tmp = new StuModel();  
                tmp.cudStu(sql, paras);  
                //========更新模型  
                sql = "select * from stu";  
                jtableUpdate(sql, null);  
            } else if(e.getActionCommand().equals("update")) {  
                /*********************修改***********************/  
                //========获取选择行号  
                int rowNum = this.resultTb.getSelectedRow();  
                if(rowNum == -1) {  
                    JOptionPane.showMessageDialog(this, "请选择一行");  
                    return ;  
                }  
                new StuUpdateDialog(this, "修改学生信息", true, sm, rowNum);  
                String sql = "select * from stu";  
                jtableUpdate(sql, null);  
            }  
        }  
          
        //========更新JTable内数据  
        public void jtableUpdate(String sql, String[] paras)  
        {  
            //......创建模型  
            sm = new StuModel();  
            sm.queryStu(sql, paras);  
            //......更新显示  
            resultTb.setModel(sm);  
        }  
      
    }  
    
    

    修改学生信息界面设计

    /**
     * @author 逸軒
     * https://www.jianshu.com/u/1b1f7b0b32d6
     */
    import java.awt.BorderLayout;  
    import java.awt.Frame;  
    import java.awt.GridLayout;  
    import java.awt.event.ActionEvent;  
    import java.awt.event.ActionListener;  
      
    import javax.swing.JButton;  
    import javax.swing.JDialog;  
    import javax.swing.JLabel;  
    import javax.swing.JOptionPane;  
    import javax.swing.JPanel;  
    import javax.swing.JTextField;  
    import javax.swing.table.AbstractTableModel;  
      
    public class StuUpdateDialog extends JDialog implements ActionListener{  
        //=========面板控件  
        //......左侧标题栏  
        private JLabel idLab,nameLab,sexLab,ageLab,jgLab,deptLab;  
        //......右侧信息选择填写栏  
        private JTextField idTxt,nameTxt,sexTxt,ageTxt,jgTxt,deptTxt;  
        //......添加和取消按钮  
        private JButton addBtn,cancelBtn;  
        //......布局控件  
        private JPanel left,center,bottom;  
          
        //构造函数  
        public StuUpdateDialog(Frame owner, String title, boolean modal, StuModel sm, int rowNum)   
        {  
            //========重写父类方法  
            super(owner, title, modal);  
            //========左侧标签栏  
            idLab = new JLabel("学号: ");  
            nameLab = new JLabel("姓名: ");  
            sexLab = new JLabel("性别: ");  
            ageLab = new JLabel("年龄: ");  
            jgLab = new JLabel("籍贯: ");  
            deptLab = new JLabel("系别: ");  
            //========右侧信息填写栏  
            idTxt = new JTextField();     
            idTxt.setText((String)sm.getValueAt(rowNum, 0));  
            idTxt.setEditable(false);  
            nameTxt = new JTextField();  
            nameTxt.setText((String)sm.getValueAt(rowNum, 1));  
            sexTxt = new JTextField();  
            sexTxt.setText((String)sm.getValueAt(rowNum, 2));  
            ageTxt = new JTextField();  
            ageTxt.setText((String)sm.getValueAt(rowNum, 3));  
            jgTxt = new JTextField();  
            jgTxt.setText((String)sm.getValueAt(rowNum, 4));  
            deptTxt = new JTextField();  
            deptTxt.setText((String)sm.getValueAt(rowNum, 5));  
            //========添加和取消按钮  
            addBtn = new JButton("修改");  
            cancelBtn = new JButton("取消");  
            //......添加监听  
            addBtn.addActionListener(this);  
            addBtn.setActionCommand("update");  
            cancelBtn.addActionListener(this);  
            cancelBtn.setActionCommand("cancel");  
            //========创建布局  
            //......创建左边栏  
            left = new JPanel();  
            left.setLayout(new GridLayout(6, 1));  
            left.add(idLab);  left.add(nameLab);   
            left.add(sexLab); left.add(ageLab);   
            left.add(jgLab);  left.add(deptLab);   
            //......创建右边栏  
            center = new JPanel();  
            center.setLayout(new GridLayout(6, 1));  
            center.add(idTxt);  center.add(nameTxt);  
            center.add(sexTxt); center.add(ageTxt);  
            center.add(jgTxt);  center.add(deptTxt);  
            //========底层添加和取消按钮  
            bottom = new JPanel();  
            bottom.add(addBtn);  
            bottom.add(cancelBtn);  
            //========整体布局  
            this.add(left,BorderLayout.WEST);  
            this.add(center,BorderLayout.CENTER);  
            this.add(bottom,BorderLayout.SOUTH);  
            //========设置窗口属性  
              
            this.setSize(300, 250);  
            this.setResizable(false);  
            this.setVisible(true);  
        }  
      
        @Override  
        public void actionPerformed(ActionEvent e) {  
            // TODO Auto-generated method stub  
            if(e.getActionCommand().equals("update")) {  
            /***********************修改学生信息**************************/  
                StuModel tmp = new StuModel();  
                String sql = "update stu set stuName=?,stuSex=?,stuAge=?,stuJg=?,stuDept=? where stuId=?";  
                String []paras = {nameTxt.getText(),sexTxt.getText(),ageTxt.getText(),  
                                jgTxt.getText(),deptTxt.getText(),idTxt.getText()};  
                if(!tmp.cudStu(sql, paras))  
                    JOptionPane.showMessageDialog(this, "修改学生信息失败");  
                //========关闭窗口  
                this.dispose();  
            } else if(e.getActionCommand().equals("cancel")) {  
                //========关闭窗口  
                this.dispose();  
            }  
        }  
    }  
    

    查询学生功能

    /**
     * @author 逸軒
     * https://www.jianshu.com/u/1b1f7b0b32d6
     */
    import java.sql.ResultSet;  
    import java.util.Vector;  
    import javax.swing.table.AbstractTableModel;  
      
    public class StuModel extends AbstractTableModel{  
        private Vector columnNames;  
        private Vector rowDates;  
          
        //  
        public StuModel()  
        {  
            String sql = "select * from stu";  
            String []paras = {};  
              
        }  
          
        //========增删改学生  
        public boolean cudStu(String sql, String []paras)  
        {  
            return new SqlHelper().cudExecute(sql, paras);  
        }  
          
        //========查询学生  
        public void queryStu(String sql, String []paras)  
        {  
            SqlHelper sqlHelper = null;  
            //========初始化JTable信息  
            columnNames = new Vector();  
            rowDates = new Vector();  
            columnNames.add("学号"); columnNames.add("名字");  
            columnNames.add("性别"); columnNames.add("年龄");  
            columnNames.add("籍贯"); columnNames.add("系别");  
              
            try {  
                sqlHelper = new SqlHelper();  
                ResultSet rs = sqlHelper.queryExecute(sql, paras);  
                while(rs.next()) {  
                    Vector row = new Vector();  
                    row.add(rs.getString(1));  
                    row.add(rs.getString(2));  
                    row.add(rs.getString(3));  
                    row.add(rs.getString(4));  
                    row.add(rs.getString(5));  
                    row.add(rs.getString(6));  
                    rowDates.add(row);  
                }  
            } catch (Exception e) {  
                // TODO: handle exception  
            } finally {  
                sqlHelper.close();  
            }  
              
        }  
      
        @Override  
        public int getColumnCount() {  
            // TODO Auto-generated method stub  
            return this.columnNames.size();  
        }  
      
        @Override  
        public int getRowCount() {  
            // TODO Auto-generated method stub  
            return this.rowDates.size();  
        }  
      
        @Override  
        public Object getValueAt(int row, int col) {  
            // TODO Auto-generated method stub  
            if(!rowDates.isEmpty())  
                return ((Vector)this.rowDates.get(row)).get(col);  
            else  
                return null;  
        }  
      
          
        @Override  
        public String getColumnName(int column) {  
            // TODO Auto-generated method stub  
            return (String)this.columnNames.get(column);  
        }  
      
          
    }  
    

    截图演示
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    链接下载
    https://download.csdn.net/download/qq_40861561/11286135

    展开全文
  • 学生学籍管理详细设计 学号_ 姓名_ 班级_ 1设计题目 学生学籍管理 二设计内容 设计GUI学生学籍管理界面用户可以加入学生信息并对基本信息进行修改 加查询删除 三设计要求 进行简单的学生信息管理 四总体设计 (1)登陆...
  • JAVA 程序设计报告 学生信息管理系统 辅导老师张松敏 系别计算机系 专业软件技术 学号 姓名 日期 需求分析 功能分析 模块设计 软件设计分析 数据库设计 模块及窗体设计 数据库模块设计 用户登录识别模块 用户信息...
  • 2.查询学生信息 3.增加学生信息 4.更新学生信息 5.删除学生信息 三、部分代码 BussinessService LoginService 四、其他 1.其他系统实现 2.获取源码 3.运行项目 4.备注 5.支持博主 一、系统介绍 1.开发...
  • 使用Java Swing开发的学生信息管理系统(界面美观)

    万次阅读 多人点赞 2018-12-31 12:32:29
    设计一个学生基本信息管理系统,实现“系统登录”,“学生信息增加”,“学生信息查询”,“学生信息删除”,“学生信息修改”,“学生信息导入”,“学生信息导出”等功能,具体要求如下: 关注下面的微信公众号,...
  • 数据库课程设计 开发环境:eclipse、SQLServer 开始界面:选择身份 开始界面源码: package StudentSQL; public class Start { // 启动登录界面 public static void main(String[] args) { ...import java
  • 基于Java学生信息管理系统 简述: 这是一个简单的基于Java和Mysql的学生信息管理系统,主要实现简单的增删改查, 主界面: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ...
  • 系统主要包括学生管理员两个用户角色 以学生角色登陆进去 学生可以查看自己的选修课情况 修改自己的个人信息管理员的角色登陆进去,管理员可以查看选修课的选修情况 增加选修课,查看学生的个人情况 ...
  • 实验名称实验 5综合性程序设计 简单学生信息管理系统 班级 * 姓名 Zzz 学号 20151601* 一实验目的 二实验内容与结果 1任务描述 ( 1.3 与 1.4 二选一建议选择 1.4 利用课程所学知识设计并实现一个简单学生信息管理...
  • 本篇文章主要利用简单的awt、swing等组件进行布局管理,由于时间原因并未对其进行丰富的设计,但对于学习如何布局,如何用Java的组件进行界面化操作响应有一定的学习价值! 存入效果图: 输出效果图: 删除: ...
  • java GUI 学生管理系统

    2018-07-31 21:31:50
    自己做的一个基于java GUI窗体的学生管理系统,完成简单对学生信息的增删改查,里面代码仅供学习和参考。数据库使用mysql和oracle都可以,导入改一下配置文件即可
  • java学生成绩管理系统界面设计

    万次阅读 多人点赞 2018-06-29 10:35:40
    关于学生成绩管理系统的界面设计:代码如下 1import&nbsp;javax.swing.*; 2import&nbsp;java.awt.*; 3import&nbsp;java.awt.event.*; 4import&nbsp;com.example.SqlHelper; 5class&nbsp;...
  • ava窗体学生管理系统.

    2014-06-29 23:28:48
    java窗体实现简单的学生信息管理 好用
  • Java实现简单的学生信息管理界面

    万次阅读 多人点赞 2018-06-26 12:00:04
    主类package 学生信息管理系统; public class Main { public static void main(String[] args) { // TODO 自动生成的方法存根 InterFace Menu=new InterFace(); Menu.menu(); } }添加信息package 学生信息...
  • 学生学籍管理详细设计 学号_ 姓名_ 班级_ 一设计题目 学生学籍管理 二设计内容 设计GUI学生学籍管理界面用户可以加入学生信息并对基本信息进行修改添加查询删除 三设计要求 进行简单的学生信息管理 四总体设计 (1)...
  • java课程设计(学生信息管理系统

    千次阅读 2018-01-26 11:57:00
    本组的课题是学生信息管理系统,我负责的任务是完成学生信息管理系统的图形界面。 3.总体设计(概要设计) 本组完成的是学生信息管理系统,主要的功能有增,删,查,改,管理的学生信息有学号、姓名、性别、出生...
  • 5综合性程序设计简单学生信息管理系统实验名称实验 *Zzz 学号20151601班级* 姓名 一实验目的 二实验内容与结果 1任务描述(1.3与1.4二选一建议选择1.4 利用课程所学知识设计并实现一个简单学生信息管理系统要求如下 ...
  • Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...
  • Java 图形界面开发--图文并茂建立学生管理系统

    万次阅读 多人点赞 2016-03-19 19:52:28
     这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统。虽然说不入大神法眼,但这确实是费了自己不少心血。对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调。在...
  • 前台使用ExtJS,后台采用Hibernate和Struts2,实现学生管理系统学生信息的增删改查,纯粹测试Ext

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,926
精华内容 770
关键字:

java窗体学生信息管理系统

java 订阅