0


Java期末作业董鹤

部分代码(学生信息的增添,删除和初始登录)

1各模块功能简介
添加学生信息
输入学生的姓名以及三个科目的成绩(数学、英语,物理),并将其保存在建立好的数据库中。然后进行提交或退出

删除学生信息
进入该模块后,输入想要删除成绩的学生姓名,即可在数据库中检索该学生 的成绩信息并删除其各科成绩。如果输入的学生姓名不是数据库里的就会返回显示页面

初始登录

登录密码和用户输入成功后会显示界面,学号,成绩,平均分,总分,也可以调用查找,修改,添加,删除,排序,保存文件等功能,输入不成功会显示用户不存在或密码错误,请重新填写,然后返回登录界面

/**
 * @author Angel
 */
public class Adda extends Menu{                //创建Adda类并且继承Menu类
    private final JFrame jf=new JFrame("添加学生信息!");        //定义一个窗体,窗体的名称为添加学生信息!
    //定义信息填写栏
    private final JTextField jt1=new JTextField();
    private final JTextField jt2=new JTextField();
    private final  JTextField jt3=new JTextField();
    private final JTextField jt4=new JTextField();
   //定义提交和退出按钮
    private final JButton bt1=new JButton("提交");
    private final JButton bt2=new JButton("退出");
    private String na=null;                    //定义一个na的字符串,并且直接赋值为null
    private String sq=null;                    //定义一个sq的字符串,并且直接赋值为null
    private float m,w,en,ever,su;                //定义名为m,w,en,ever,su;的单精度变量
   //定义一个无参构造方法,并且抛出Exception异常
    public Adda()throws Exception{    
       //调用父类的构造方法            
        super();                        
        //定义面板控件的标签栏的标题
        JLabel jl0=new JLabel("请输入新添加学生的信息:");        //创建具有指定文本“请输入新添加学生的信息: ”JLabel 实例
        JLabel jl1=new JLabel("姓  名:");                //创建具有指定文本“姓  名 ”JLabel 实例
        JLabel jl2=new JLabel("数  学:");                //创建具有指定文本“数  学: ”JLabel 实例
        JLabel jl3=new JLabel("物  理:");                //创建具有指定文本“物  理: ”JLabel 实例
        JLabel jl4=new JLabel("英  语:");                //创建具有指定文本“英  语: ”JLabel 实例
        JLabel xin=new JLabel("");                //创建具有指定文本“   ”JLabel 实例
       //定义各个标签的坐标位置
      //参数一,参数二(x,y)是其左上角坐标,也就是和左沿的距离,参数三是标签控件的宽度width,参数4是标签控件的高度height是组件本身的宽和高。
        jl0.setBounds(10,10,170,30);
        jl1.setBounds(10,50,60,30);
        jt1.setBounds(80,50,180,30);
        jl2.setBounds(10,90,60,30);
        jt2.setBounds(80,90,180,30);
        jl3.setBounds(10,130,60,30);
        jt3.setBounds(80,130,180,30);
        jl4.setBounds(10,170,60,30);
        jt4.setBounds(80,170,180,30);
        bt1.setBounds(20,230,60,30);
        bt2.setBounds(90,230,60,30);
        xin.setBounds(10,260,100,30);
       //将各个标签控件添加到窗体
        jf.add(jl0);
        jf.add(jl1);
        jf.add(jt1);
        jf.add(jl2);
        jf.add(jt2);
        jf.add(jl3);
        jf.add(jt3);
        jf.add(jl4);
        jf.add(jt4);
        jf.add(bt1);
        jf.add(bt2);
        jf.add(xin);
       //设置窗体大小
        jf.setSize(400,380);
       //设置组件的显示位置
        jf.setLocation(300,200);
       //设置显示或隐藏组件,属性为true
        jf.setVisible(true);
       //监听提交按钮按下
        bt1.addActionListener((ActionEvent e)->{
          //如果是提交按钮
            if(e.getSource()==bt1){
    //判断录入的信息是否为空
                if("".equals(jt1.getText().trim())|| "".equals(jt2.getText().trim())|| "".equals(jt3.getText().trim())
                        || "".equals(jt4.getText().trim())){
       //信息为空提示框提示
                    JOptionPane.showMessageDialog(null,"输入的信息不可以为空,请重新输入!","错误提示!",
                            JOptionPane.INFORMATION_MESSAGE);
                    f.dispose();
       //关闭窗体
                    jf.dispose();
                    try{
           //再次启动Adda();
                        new Adda();
         //抓取异常
                    }catch(Exception ex){
                        System.out.println("异常");
                    }
    //判断录入的份数是否小于0
                }else if(Float.parseFloat(jt2.getText())<0||Float.parseFloat(jt3.getText())<0||Float.parseFloat(jt4.getText())<0){
        //提示框提示输入的分数不可以有负数,请重新输入
                    JOptionPane.showMessageDialog(null,"输入的分数不可以有负数,请重新输入!","错误提示!",
                            JOptionPane.INFORMATION_MESSAGE);
                    f.dispose();
        //关闭窗体    
                    jf.dispose();
                    try{
            //再次启动Adda类
                        new Adda();
           //抓取异常,并处理
                    }catch(Exception ex){
            //控制台打印
             System.out.println("异常");
       }
                }else{
       //获取输入框中的参数 赋值给变量
                    na=jt1.getText().trim();
                    m=Float.parseFloat(jt2.getText().trim());
                    w=Float.parseFloat(jt3.getText().trim());
                    en=Float.parseFloat(jt4.getText().trim());
                    su=m+w+en;
                    ever=toTwo((float)(su/3.0));
       //定义sql   sql的含义为向stu表中插入一条记录
                    sq="insert into stu(name,math,wuli,english,everage,sum)"+"values('"+na+"',"+m+","+w+","+en+","+ever+","+su+")";
                    try{
            //关闭窗口
                        jf.dispose();
                        show(SQL,1,sq);
        //抓取异常,并处理
                    }catch(Exception ex){
           //控制器中打印异常
             System.out.println("异常");
        }
                }
            }
        });
       //监听退出按钮按下
        bt2.addActionListener((ActionEvent e)-> {
           //e.getSource是获取发起事件的控件对象,判断按下的按钮是不是退出按钮,如果是的话执行下面代码块
            if (e.getSource() == bt2) {
    //关闭窗体
                jf.dispose();
            }
        });
    }
}
public class Dengru {
    //定义窗体,并且窗体的标题设置为“学生管理系统”
    private final JFrame frame = new JFrame("学生成绩管理系统");
    //定义登录和重置按钮
    private final JButton submit = new JButton("登入");
    private final JButton reset = new JButton("重置");
    //定义标题
    private final JLabel infoLab = new JLabel("用户登录(root,java)");
    //定义填写栏
    private final JTextField nameText = new JTextField(10);
    //定义密码的填写栏
    private final JPasswordField passText = new JPasswordField() ;
    //创建Dengru类
    public Dengru() {
        //创建用户名和密码的面板标签
        JLabel nameLab = new JLabel("用户名:");
        JLabel passLab = new JLabel("密     码:");
        //定义字体并且应用
        Font fnt = new Font("Serief",Font.ITALIC + Font.BOLD,12) ;
        infoLab.setFont(fnt) ;
        
        //监听下提交按钮
        submit.addActionListener((ActionEvent e)->{
                //判断按钮是否是提交按钮
                if(e.getSource()==submit){
                    //获取输入的用户名和密码
                    String tName = nameText.getText() ;
                    String tPassWord = new String(passText.getPassword()) ;
                    //对用户名和密码进行查询操作
                    LoginCheck log = new LoginCheck(tName,tPassWord) ;
                    //对查询结果进行判断
                    //结果为true
                    if(log.validate()){
                        try{
                            //提示框提示,密码正确
                            JOptionPane.showMessageDialog(null,"密码正确,即将进入系统!","登入提示!",
                                    JOptionPane.INFORMATION_MESSAGE);
                            //线程等待三秒
                            Thread.sleep(3000);
                            //窗口关闭
                            frame.dispose();
                            //执行Menu类
                            new Menu();
                            //抓取异常
                        }catch(Exception ex){
                        //处理异常
                            ex.printStackTrace();
                        }
                    }else{    //结果为false
                        try{
                         //提示框提示,密码正确
                            JOptionPane.showMessageDialog(null,"用户不存在或密码错误,请重新填写!","登入提示!",
                                    JOptionPane.INFORMATION_MESSAGE);
                            //窗口关闭
                            frame.dispose();
                            //重新执行Dengru类
                            new Dengru();
                            //抓取异常
                        }catch(Exception ex){
                            //控制台打印
                            System.out.println("异常");
                        }
                    }
                }
            });
        //监听重置按钮
        reset.addActionListener((ActionEvent e)->{
                //判断是否是重置按钮
                if(e.getSource()==reset){
                    //将用户名和密码设置为空
                    nameText.setText("") ;
                    passText.setText("") ;
                    //设置infoLab标签名为"用户登录(root,java)"
                    infoLab.setText("用户登录(root,java)");
                }
            });
        //给fram,add窗体的监听事件创建WindowAdapter的对象 中间是对一个函数也就是windows窗口关闭函数进行重写
        frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(1) ;
            }
        }) ;
        //设置窗体不按照默认布局
        frame.setLayout(null) ;
        //对各个标签的布局进行设置
        nameLab.setBounds(5,5,60,20) ;
        passLab.setBounds(5,30,60,20) ;
        infoLab.setBounds(5,65,220,30) ;
        nameText.setBounds(65,5,100,20) ;
        passText.setBounds(65,30,100,20) ;
        submit.setBounds(170,5,60,20) ;
        reset.setBounds(170,30,60,20) ;
        //将各个标签组件添加到窗体
        frame.add(nameLab) ;
        frame.add(passLab) ;
        frame.add(infoLab) ;
        frame.add(nameText) ;
        frame.add(passText) ;
        frame.add(submit) ;
        frame.add(reset) ;
        //设置窗体大小
        frame.setSize(280,130) ;
        //设置窗体北京颜色
        frame.setBackground(Color.WHITE) ;
        //设置窗体位置
        frame.setLocation(420,230) ;
        //设置窗体的显示或隐藏组件,属性为true
        frame.setVisible(true) ;

    }
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
//创建Delete类并且继承Menu父类
class Delete extends Menu{
    //创建窗体,并且设置窗体标题为删除学生信息
    private final JFrame jf=new JFrame("删除学生信息!");
    //创建删除按钮
    private final JButton jb=new JButton("删除");
    //定义填写信息组件
    private final JTextField jt=new JTextField();
    //创建字符串s并且复制为null
    private String s=null;
    //创建字符串sq并且复制为null
    private String sq=null;
    //创建无参构造函数抛出异常
    public Delete() throws Exception{
        //调用父类构造
        super();
        //创建标签
        JLabel jl=new JLabel("请输入需要删除学生的学号!");
        //设置字体
        Font fo=new Font("Serief",Font.BOLD,12);
        jl.setFont(fo);
        //设置组件位置
        jt.setBounds(15,15,150,30);
                       /**
                      *可以通过setBounds对组件进行自定义大小和位置设置。第一个参数改组件在JFrame中的x坐边
                      *第二个参数改组件在JFrame中的y坐标
                      *第三个参数改组件在JFrame中的组件宽度
                      *第四个参数改组件在JFrame中的组件高度*/
        jb.setBounds(175,15,60,30);
        jl.setBounds(10,80,80,30);
        //将组件位置信息添加到窗体
        jf.add(jt);
        jf.add(jb);
        jf.add(jl);
        //设置窗体大小
        jf.setSize(300,170);
        //设置窗体位置
        jf.setLocation(300,250);
        //设置窗体的显示或隐藏组件,属性为true
        jf.setVisible(true);
          /**
          *setSize(int width, int height):其实就是定义控件的大小,有两个参数,分别对应宽度和高度*/
          *setLocation(int x, int y):将组件移到新位置,用x 和 y 参数来指定新位置的左上角
       setVisible(boolean)方法是用来显示GUI组件的。*/
       
       //监听删除按钮
        jb.addActionListener((ActionEvent e)->{
        //判断按钮是否为删除按钮
            if(e.getSource()==jb){
                //判断输入框是否为空
                if("".equals(jt.getText().trim())){
                    //提示框提示输
                    JOptionPane.showMessageDialog(null,"输入的信息不可以为空,请重新输入!","错误提示!",
                            JOptionPane.INFORMATION_MESSAGE);
                    f.dispose();
                    //关闭对话框
                    jf.dispose();
                  /**
                    *使用dispose()方法关闭窗体*/
                    try{
                    //再次执行删除类
                        new Delete();
                        //抓取异常
                    }catch(Exception ex){
                    //控制器打印
                        System.out.println("异常");
                    }
                 /**
                 try catch*/
                }else{
                    //获取录入的信息,并且去除空格
                    s=jt.getText().trim();
                    int t=Integer.parseInt(jt.getText().trim());
                    //判断输入的学号是否为负数
                    if(t<=0){
                    //提示框提示
                        JOptionPane.showMessageDialog(null,"输入的学号不可以为0或负数,请重新输入!","错误提示!",
                                JOptionPane.INFORMATION_MESSAGE);
                        f.dispose();
                        //关闭窗体
                        jf.dispose();
                        try{
                            //再次启动delete类
                            new Delete();
                            //抓取异常
                        }catch(Exception ex){
                        //控制台打印
                        System.out.println("异常");
                        }
                        //学号不为负数执行代码块
                    }else{
                        //定义sql
                        sq="delete from stu where id="+t;
                        //关闭窗体
                        jf.dispose();
                        try{
                        //进行查询操作
                            show(SQL,1,sq);
                            //对异常进行抓取
                        }catch(Exception ex){System.out.println("异常");}
                    }
                }
            }
        });
    }
}
标签: java 开发语言

本文转载自: https://blog.csdn.net/m0_63073177/article/details/125257683
版权归原作者 m0_63073177 所有, 如有侵权,请联系我们删除。

“Java期末作业董鹤”的评论:

还没有评论