zoukankan      html  css  js  c++  java
  • 《Java程序设计》终极不改版

     半年前的作品,上传只为纪念~

    成绩: ____0.1______

     

     

    《Java程序设计》终极不改版

     

    Java程序设计

     课程设计

     

     

     

        目:大学生信息管理系统

        院:  计算机与软件学院

        业:     网络工程_____­

    .                        号:范晋杰20151346023

    .             金恒昱20151346024

    .             鲁方伟20151346081

    指导教师:       方巍_______

                     

     

    20161223

     

     

     

     

    1. 前言............................................. 1

    2. 需求分析.......................................... 1

    3. 概要设计.......................................... 1

    4. 详细设计.......................................... 2

    5. 测试............................................ 12

    6. 总结............................................ 16

    参考文献.......................................... 16


    1.前言

        Java语言是目前IT行业应用最多,也是最主流的开发语言之一(另一主流是.NET),其应用前景很广。Java语言本身主要用于开发桌面应用程序。与此相对应,JSPServletJavaBean等是基于Java语言开发Web应用程序的技术。本课程设计的任务就是使用JavaJSPServletJavaBean等组件开发一套桌面或Web应用程序。

     

      我们准备开发一个全国大学生信息管理系统。系统功能包括如下:

      添加学生信息

      查看学生信息

      修改学生信息

      删除学生信息

     

      相关技术简介:我们采用java编程技术,用到了数据库,图形化设计等。

    2.  需求分析

    市场需求:主要解决一个管理学生信息的问题,学生学号,班级,成绩之类的问题,旨在为各大高校提供一个开源、自由、免费的简单管理软件。这个问题要求我们提供一个管理学生信息安全的平台,避免学生信息的缺漏。人性化的图形管理界面,加上优美的背景音乐和可爱的开场动画,让管理者可以更加愉悦得对学生信息进行管理。

    3. 编程环境:

       JDKJava Development Kit称为Java开发包或Java开发工具,是一个编写JavaApplet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境Java Runtime Envirnment,一些Java工具和Java的核心类库Java API。不论什么Java应用服务器实质都是内置了某个版本的JDK采用Eclipse工具,一个开放源代码的、基于Java的可扩展开发平台。

     

     

    程序模块流程:

    结构图

    4.  详细设计

     

    类设计:

    SplashWindow             开始动画

    LogIn                    登陆界面,输入用户名,密码等

    MySound                  背景音乐播放

    Student                  主界面各种功能

    QueryStudent             学生搜索

    StudentIn                录入学生

    DeleteStudent            学生删除

    StudentInformationBrower 学生概览

    UpdatePassword           修改密码

     

    数据库设计:

     

    学生名

    学号

    Java

    数据结构

    概率统计

    入学时间

    龙傲天

    20151

    59

    34

    47

    2015

    余笑

    201419

    38

    24

    36

    2014

    李四

    201625

    20

    69

    89

    2016

    金大牙

    201513

    75

    89

    96

    2015

    郑官圣

    200615

    59

    89

    79

    2006

    鲁方伟

    20151346081

    60

    60

    80

    2015

     

     

     

    详细代码:

    //“删除学生信息”功能类代码

    class DeleteStudent    implements  ActionListener

    {  

        JFrame f;

        Container cp;

        JPanel jpS,jpanelWest;

        JButton  jbt1,jbt2,jbt3;//按钮,查询、取消、修改

        JLabel label,L;                  //标签:请输入学号

        JTextField tf;    //定义文本框

        JTable table;//用来接收数据库中返回的信息

        Object columnName[]={"学生名","学号","Java","数据结构","概率统计","入学时间"};

        Object ar[][] =new Object[80][6];

        String sno;

        //String count="xx";

        DeleteStudent()

       {

        f=new JFrame();

        cp=f.getContentPane(); // 初始化面板、按钮、标签、文本框

        jpS=new JPanel();      

        jpanelWest=new JPanel();

        jbt1=new JButton("查询");  

        jbt2=new JButton("取消");

        jbt3=new JButton("删除");

        label=new JLabel("请输入要删除的学生名:",SwingConstants.CENTER);

        label.setForeground(Color.blue);

        table=new JTable(ar,columnName);//ar存放表中的数据,columnname表示列名

        JScrollPane scrollpane = new JScrollPane(table);

        tf=new JTextField(18);

        jpS.add(jbt1);

        jpS.add(jbt2);

        jpS.add(jbt3);

        JPanel jpanel=new JPanel();

        jpanel.add(label);

        jpanel.add(tf);

        JPanel pp4=new JPanel();

        JPanel jpE=new JPanel();

        cp.add(jpanel,"North");

        JPanel jp=new JPanel();

        JPanel p=new JPanel();//用来放两个表

        p.setLayout(new BorderLayout());

        p.add(scrollpane);

        cp.add(pp4,"West");

        cp.add(p,"Center");

        cp.add(jpS,"South");

        cp.add(jpE,"East");

        Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();

        f.setSize(400,330);

        f.setLocation((screen.width-350)/2,(screen.height-350)/2);

         f.setVisible(true);

        jbt1.addActionListener(this);//注册监听器

        jbt2.addActionListener(this);

        jbt3.addActionListener(this);

        }

        int i=0;

       public void showRecord(String ql)

        {

             while(i>=0)

                 {   

                 ar[i][0]="";

                 ar[i][1]="";

                 ar[i][2]="";

                 ar[i][3]="";

                 ar[i][4]="";

                 ar[i][5]="";

                 i--;

                 }

                 i=0;

            try{

                 Class.forName("com.hxtt.sql.access.AccessDriver");

                }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}

             try{

                 Connection con = DriverManager.getConnection("jdbc:Access:/D:/Student.mdb"); 

                  Statement sql;        

                  String s="select * from book  where 学生名='"+ql +"'";

                  sql=con.createStatement();

                   ResultSet rs=sql.executeQuery(s);

                  while(rs.next())

                  {

                     String bname=rs.getString(1);

                      String bno=rs.getString(2);

                      String price=rs.getString(3);

                      String writer=rs.getString(4);

                      String publish=rs.getString(5);

                      String indate=rs.getString(6);

                      ar[i][0]=bname;

                      ar[i][1]=bno;

                      ar[i][2]=price;

                      ar[i][3]=writer;

                      ar[i][4]=publish;

                      ar[i][5]=indate;

                      i++;

                   }

                      f.repaint();

                        con.close();System.out.println(ar[0][1]);

               }catch(SQLException g)

                      {

                       System.out.println("E Code"+g.getErrorCode());

                       System.out.println("E M"+g.getMessage());

                     }}

       public void deleteRecord(int index)

        {

            try{

                 Class.forName("com.hxtt.sql.access.AccessDriver");

                }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}

             try{

                 Connection con = DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");

                 Statement sql;        

                 String ql=(String)(ar[index][1]);

                 String s="delete from book  where 学号 ='"+ql +"'";

                sql=con.createStatement();

                  int del=sql.executeUpdate(s);

                   if(del==1)

                     {JOptionPane.showMessageDialog(null,"删除成功!",

                            "信息", JOptionPane.YES_NO_OPTION);

                       }

                       con.close();

                      f.repaint();

                }catch(SQLException g)

                      {

                      System.out.println("E Code"+g.getErrorCode());

                      System.out.println("E M"+g.getMessage());

                      }

        }

      public void actionPerformed(ActionEvent e)

        { 

             String remember="";

             String ql="";

              String cmd=e.getActionCommand();

               if(cmd.equals("查询"))

                    {

                    ql=tf.getText().trim();

                      remember=ql;

                     showRecord(ql);

                   }

                if(cmd.equals("删除"))

                 {

                    int index=table.getSelectedRow();

                    if( index==-1)

                       JOptionPane.showMessageDialog(null,"请选定要删除的表格行",

                            "输入错误", JOptionPane.YES_NO_OPTION);

                    else{

                         deleteRecord(index);

                      }

                  }

                if(cmd.equals("取消"))

                     f. dispose();   

        }

    public static void main(String []arg){

                DeleteStudent a=new DeleteStudent();

    }}

    package 大学生信息管理系统;

    class QueryStudent implements ActionListener

    {  

        JFrame f3=new JFrame();

        Container cp=new JPanel();

        JPanel jp1=new JPanel();

        JPanel jp2=new JPanel();

        JPanel jp3=new JPanel();

        JPanel jp4=new JPanel();

        JPanel jp=new JPanel();

        JPanel jpanelWest=new JPanel();;

        JButton  jbt1=new JButton("确定");

        JButton jbt2=new JButton("取消");//按钮,确定、取消

        JLabel label;               //标签:请输入图书号

        JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6;    //定义文本框

        JLabel label1,label2,label3,label4;

        QueryStudent()

       {

        cp=f3.getContentPane(); // 初始化面板、按钮、标签、文本框

        label=new JLabel("请输入学生学号:",SwingConstants.CENTER);

        label.setForeground(Color.blue);

        tf=new JTextField(20);

        tf1=new JTextField(20);

        tf2=new JTextField(20);

        tf3=new JTextField(20);

        tf4=new JTextField(20);

        tf5=new JTextField(20);

        tf6=new JTextField(20);

        JPanel jpanel=new JPanel();

        jpanel.add(label);

        jpanel.add(tf);

        JPanel pp4=new JPanel();

        JPanel jpane4=new JPanel();

        cp.add(jpanel,"North");

        JPanel pp2=new JPanel(new GridLayout(6,1));

        JPanel pp3=new JPanel();

        pp4.setLayout(new GridLayout(6,1));

        pp4.add(new JLabel("学生名",SwingConstants.CENTER));

        pp2.add(tf1);

        pp4.add(new JLabel("学号",SwingConstants.CENTER));

        pp2.add(tf2);

        pp4.add(new JLabel(";

        pp2.add(tf3);

        pp4.add(new JLabel("数据结构",SwingConstants.CENTER));

        pp2.add(tf4);

        pp4.add(new JLabel("概率统计",SwingConstants.CENTER));

        pp2.add(tf5);

        pp4.add(new JLabel("入学时间",SwingConstants.CENTER));

        pp2.add(tf6);

        pp3.add(jbt1);

        pp3.add(jbt2);

        cp.add(pp4,"West");

        cp.add(pp2,"Center");

        cp.add(pp3,"South");

        cp.add(jpane4,"East");

        Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();

        f3.setSize(350,330);

        f3.setLocation((screen.width-350)/2,(screen.height-350)/2);

         f3.setVisible(true);

        jbt1.addActionListener(this);//注册监听器

        jbt2.addActionListener(this);

        }

    public void showRecord()

        {

            try{

                 Class.forName("com.hxtt.sql.access.AccessDriver");

                }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}

             try{

                 Connection con = DriverManager.getConnection("jdbc:Access:/D:/Student.mdb"); 

                 Statement sql;        

                 String ql=tf2.getText().trim();

                 String s="select * from book  where 学号 ='"+ql +"'";

                sql=con.createStatement();

                  ResultSet rs=sql.executeQuery(s);

                  if(rs.next())

                 {

                    String sname=rs.getString(1);

                      String sno=rs.getString(2);

                      String ;

                      String DataStructure=rs.getString(4);

                      String Statistics=rs.getString(5);

                      String time=rs.getString(6);

                      tf1.setText(sname);

                      tf2.setText(sno);

                      tf3.setText(;

                      tf4.setText(DataStructure);

                      tf5.setText(Statistics);

                      tf6.setText(time);

                  }

                    else

                     {JOptionPane.showMessageDialog(null,"您输入的学号不存在,请重新输入",

                            "输入错误", JOptionPane.YES_NO_OPTION);

                       }

                       con.close();

                }catch(SQLException g)

                      {

                      System.out.println("E Code"+g.getErrorCode());

                      System.out.println("E M"+g.getMessage());

                      }

          tf1.setEditable(false);

          tf2.setEditable(false);

          tf3.setEditable(false);

          tf4.setEditable(false);

          tf5.setEditable(false);

          tf6.setEditable(false);

        }

       

    public void actionPerformed(ActionEvent e)

        { 

              String cmd=e.getActionCommand();

                 if(cmd.equals("确定"))

                    {

                     showRecord();

                      tf.setText("");

                   }

                    else if(cmd.equals("取消"))

                         f3.dispose();            

        }

    public static void main(String []arg){

                QueryStudent a=new QueryStudent();

    }}

    package 大学生信息管理系统;

    import java.awt.event.*;

    import javax.swing.*;

    import java.awt.*;

    import java.util.*;

    import java.sql.*;

    import javax.swing.text.JTextComponent;

    class StudentIn   implements  ActionListener

    {  

        JFrame f3=new JFrame();

        Container cp;

        JPanel jp1=new JPanel();

        JPanel jp2=new JPanel();

        JPanel jp3=new JPanel();

        JPanel jp4=new JPanel();

        JPanel jp=new JPanel();

        JPanel jpanelWest=new JPanel();

        JButton  jbt1,jbt2;//按钮:确定、取消、

        JLabel label;               //标签

        JTextField tf1,tf2,tf3,tf4,tf5,tf6;    //定义文本框

        JLabel label1,label2,label3,label4;

        String sno;

        StudentIn()

       {

        cp=f3.getContentPane(); // 初始化面板、按钮、标签、文本框

        jbt1=new JButton("确定");  

        jbt2=new JButton("取消");

        label=new JLabel("录入学生",SwingConstants.CENTER);

        label.setForeground(Color.blue);

         tf1=new JTextField(20);

        tf2=new JTextField(20);

        tf3=new JTextField(20);

        tf4=new JTextField(20);

        tf5=new JTextField(20);

        tf6=new JTextField(20);

        jp1.add(jbt1);

        jp1.add(jbt2);

        sno=tf4.getText();

        jp1.add(new JLabel("您好"+sno+"欢迎登陆学生信息系统"));

        JPanel jpanel=new JPanel();

        jpanel.add(label);

        JPanel pp4=new JPanel();

        JPanel jpane4=new JPanel();

        cp.add(jpanel,"North");

        JPanel pp2=new JPanel(new GridLayout(6,1));

        JPanel pp3=new JPanel();

        pp4.setLayout(new GridLayout(6,1));

        pp4.add(new JLabel("学生名",SwingConstants.CENTER));

        pp2.add(tf1);

        pp4.add(new JLabel("学号",SwingConstants.CENTER));

        pp2.add(tf2);

        pp4.add(new JLabel(";

        pp2.add(tf3);

        pp4.add(new JLabel("数据结构",SwingConstants.CENTER));

        pp2.add(tf4);

        pp4.add(new JLabel("概率统计",SwingConstants.CENTER));

        pp2.add(tf5);

        pp4.add(new JLabel("入学时间",SwingConstants.CENTER));

        pp2.add(tf6);

        pp3.add(jbt1);

        pp3.add(jbt2);

        cp.add(pp4,"West");

        cp.add(pp2,"Center");

        cp.add(pp3,"South");

        cp.add(jpane4,"East");

        Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();

        f3.setSize(350,330);

        f3.setLocation((screen.width-350)/2,(screen.height-350)/2);

         f3.setVisible(true);

        jbt1.addActionListener(this);//注册监听器

        jbt2.addActionListener(this);

        }

       public void insertRecord()

        {

    if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||

    tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals(""))

             {

             JOptionPane.showMessageDialog(f3,"请填写学生资料");

             return;

             }

            try{

                 Class.forName("com.hxtt.sql.access.AccessDriver");

                }catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}

             try{

                 Connection con=DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");

                 Statement sql;        

                

                 String s="insert into book  values('"+tf1.getText()+"','"+tf2.getText()+"','"+

                      tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";

                

                String query="select * from book where 学号='"+tf2.getText()+"'";

                 sql=con.createStatement();     

                 ResultSet rs=sql.executeQuery(query);//返回查询结果集

                 boolean moreRecords=rs.next();//判断结果集是否有数据

                   if(moreRecords)

                      {

                       JOptionPane.showMessageDialog(f3,"学号已经被使用,请重新输入");

                       con.close();

                       tf2.setText("");

                       return;

                      }

                     

                      int insert=sql.executeUpdate(s);

                  if(insert==1)

                     {

                      JOptionPane.showMessageDialog(null,"学生信息录入成功!");

                      tf1.setText("");

                      tf2.setText("");

                      tf3.setText("");

                      tf4.setText("");

                      tf5.setText("");

                      tf6.setText("");

                    }

                }catch(SQLException g)

                      {

                      System.out.println("E Code"+g.getErrorCode());

                      System.out.println("E M"+g.getMessage());

                      }

        }

       public void actionPerformed(ActionEvent e)

        { 

              String cmd=e.getActionCommand();

                 if(cmd.equals("确定"))

                    {

                       insertRecord();

                     }

                  else if(cmd.equals("取消"))

                      f3. dispose();   

        }

       public static void main(String []arg){

                StudentIn a=new StudentIn();

        }

    }

  • 相关阅读:
    SVN服务器搭建(一)
    排序算法二:冒泡排序
    【LeetCode】136. Single Number
    【LeetCode】217. Contains Duplicate
    【LeetCode】189. Rotate Array
    【LeetCode】122. Best Time to Buy and Sell Stock II
    【LeetCode】26. Remove Duplicates from Sorted Array
    【LeetCode】20. Valid Parentheses
    【LeetCode】680. Valid Palindrome II
    【LeetCode】345. Reverse Vowels of a String
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/7516479.html
Copyright © 2011-2022 走看看