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

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


成绩:
____0.1______

 

 

 

Java程序设计

 课程设计

 

 

 

题   

目:大学生信息管理系统

学   

院: 

计算机与软件学院

专   

业:     网络工程_____­

.           
        学   

号:范晋杰20151346023

.           
 金恒昱20151346024

.           
 鲁方伟20151346081

指导教师:      

方巍
_______

                 

 

2016年12月23日

 

目 

 

 

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

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

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

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

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

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

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


1.前言

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

 

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

  添加学生信息

  查看学生信息

  修改学生信息

  删除学生信息

 

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

2.  需求分析

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

3.

编程环境:

  
JDK(Java
Development Kit)
称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。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();

   
}

}

时间: 2024-10-30 08:09:52

《Java程序设计》终极不改版的相关文章

Java程序设计的基本结构

程序|设计 --------------------------------------------------------------------------本系列文档配合前面的<JBuilder开发实践者之路>系列文章推出,站在语言本身的层次上供大家学习Java程序设计语言.主要参考Java在线文档,以及<Java2核心技术>.文章定位和读者对象主要是针对零起点的读者.基本上针对初级读者逐步辅导走上Java程序设计高手的道路. 曾毅 于 计算机软件理论实验室----------

Java程序设计资源推荐

程序|设计|设计资源 Java程序设计语言作为典型的面向对象程序设计语言,早已经占据了一块相当牢固的地位.在众多网友都推出自己的Java学习资源的时候,我也按捺不住来写一个帖子作为自己进行Java程序设计语言学习经常参考的材料总结,以享各位网友. 首先向大家推荐的是进行Java程序设计必需的开发环境, Java SDK.这一部分还是要提醒大家,一定要用最新的版本,最重要的是注意语言的变化以及标准化后所作的改进,可以通过下面的网址进行下载:http://java.sun.com/j2se/作为学习

如何优化JAVA程序设计和编码,提高JAVA性能

通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化.一般有两种方案:即优化代码或更改设计方法.我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能.而一个设计良好的程序能够精简代码,从而提高性能. 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧. 1.对象的生成和大小的调整. JAVA程序设计中一个普遍的问题就是没有好好的利用JAVA语言本身提供的函数,从而常常会生成大量的对象(或实例)

软件-java程序设计 下载 进度条显示

问题描述 java程序设计 下载 进度条显示 当我在一个页面点击下载下载软件时,能否将名称和进度条显示在另一个页面 我需要用java实现程序设计,如果可以的话麻烦贴出代码,在百度上看了很多, 没有找到可以使用的,谢谢了 解决方案 天生java做activex也很困难.不如用C++ 解决方案二: 如果是基于浏览器的话,不可以实现.因为服务器端程序不能直接控制浏览器读写文件,也不能获知下载进度. 除非你在客户端部署程序,比如activex控件. 解决方案三: 迅雷就是我说的,在客户端部署程序实现的.

java源码-这个java程序设计题目怎么写,求源码????????

问题描述 这个java程序设计题目怎么写,求源码???????? ???????????????????????????????????????????????????????????????????????? 解决方案 /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to

急求清华大学出版的JAVA程序设计教程(第五版)(作者:H.M.Deitel等施平安等翻译)的课后练习题答案…

问题描述 急求清华大学出版的JAVA程序设计教程(第五版)(作者:H.M.Deitel等施平安等翻译)的课后练习题答案- 解决方案 解决方案二:我也在找

java考试-求大学java程序设计考试复习资料

问题描述 求大学java程序设计考试复习资料 求大学java课考试资料,java课还有java实验很多不会,我们学的java是比较基础的,就是基本数据类型与基本操作,还有一些简单的程序设计,但是好多看不懂啊 解决方案 基础的话.还是复习书上的吧.网上书籍大部分适合学习.或者你找几个java面试题做做看

《Java程序设计习题精析与实验指导》一1.3 实验指导

1.3 实验指导 1.3.1 实验目的与要求 掌握Java程序开发过程. 熟悉Eclipse集成开发环境的使用. ####1.3.2 实验样例 在Eclipse集成开发环境下,参照样例步骤建立和运行Java应用程序和小应用程序. 重建工作区 首先在磁盘上(任何逻辑盘都可以,在此我们假设为D盘)创建一个文件夹JavaExercise.在已经启动Eclipse的情况下,我们可以重建我们的工作区,操作方法是:单击"File"下拉菜单,在其中选择"Switch Workspace&q

设计模式-java程序设计问题在线求答

问题描述 java程序设计问题在线求答 10C 现在在程序中有很多逻辑控制, 都是 if else if else 的, 很多, 里面的处理逻辑都大同小异的, 有不有什么好的设计方案可以解决这样的情况: 解决方案 根据具体情况,还可以用循环语句加上break,循环筛选条件,直到达到某个要求后停止循环,返回数据. 解决方案二: 根据具体情况,还可以用循环语句加上break,循环筛选条件,直到达到某个要求后停止循环,返回数据. 解决方案三: 根据具体情况,还可以用循环语句加上break,循环筛选条件