package 大学生信息管理系统;

import java.awt.event.*;

import javax.swing.*;

import java.awt.*;

import java.util.*;

import java.sql.*;

class StudentInfomationBrower   
implements 
ActionListener

{

JFrame f;

Container cp;

JPanel jpS,jpanelWest;

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

JLabel label,L;                 
//标签

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

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

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

String sno;

StudentInfomationBrower()

{

f=new JFrame();

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

jpS=new JPanel();

jpanelWest=new JPanel();

jbt1=new JButton("确定");

jbt2=new JButton("返回");

label=new JLabel("学生情况概览",SwingConstants.CENTER);

label.setForeground(Color.blue);

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

JScrollPane scrollpane = new JScrollPane(table);

jpS.add(jbt1);

jpS.add(jbt2);

JPanel jpanel=new JPanel();

jpanel.add(label);

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);

}

int i=0;

public void showRecord()

{

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");

String
s="select * from 表book ";

Statement sql=con.createStatement();

ResultSet
rs=sql.executeQuery(s);

while(rs.next())

{

String sname=rs.getString(1);

String sno=rs.getString(2);

String ;

String DataStructure=rs.getString(4);

String Data=rs.getString(5);

String time=rs.getString(6);

ar[i][0]=sname;

ar[i][1]=sno;

ar[i][2]=java;

ar[i][3]=DataStructure;

ar[i][4]=Data;

ar[i][5]=time;

i++;

}

f.repaint();

con.close();

}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("确定"))

{

f.dispose();

}

if(cmd.equals("返回"))

f.dispose();

}

public static void main(String
[]arg){

StudentInfomationBrower a=new StudentInfomationBrower();

a.showRecord();

}

}

package 大学生信息管理系统;

import java.net.*;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import javax.swing.*;

class UpdatePassword extends JFrame
implements ActionListener

{

JFrame f;

Container cp;

JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;

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

JLabel label;              
//标签:修改密码

JTextField name;

JPasswordField tf1,tf2,tf3;   
//定义文本框

JLabel label1,label2,label3,label4;

String sno;

UpdatePassword(){}

UpdatePassword(String username)

{

sno=username;

f=new JFrame();

cp=f.getContentPane(); // 初始化

jp1=new JPanel();

jp2=new JPanel();

jp3=new JPanel();

jp4=new JPanel();

jpanelWest=new JPanel();

jp=new JPanel();

jbt1=new JButton("确定");

jbt2=new JButton("取消");

label=new JLabel("修改密码",SwingConstants.CENTER);

label.setForeground(Color.blue);

label.setFont(new Font("BOLD",Font.BOLD,15));

name=new JTextField(20);

tf1=new JPasswordField(20);

tf2=new JPasswordField(20);

tf3=new JPasswordField(20);

jp1.add(jbt1);

jp1.add(jbt2);

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

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.RIGHT));

pp2.add(name);

pp4.add(new JLabel("原密码: ",SwingConstants.RIGHT));

pp2.add(tf1);

pp4.add(new JLabel(" 新密码: ",SwingConstants.RIGHT));

pp2.add(tf2);

pp4.add(new JLabel("确认密码: ",SwingConstants.RIGHT));

pp2.add(tf3);

pp2.add(new JLabel());

JPanel jpbutton=new JPanel();

jpbutton.add(jbt1);

jpbutton.add(jbt2);

pp2.add(jpbutton);

cp.add(pp4,"West");

cp.add(pp2,"Center");

cp.add(jpane4,"East");

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

f.setSize(350,330);

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

f.setTitle("修改密码");

f.setVisible(true);

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

jbt2.addActionListener(this);

}

public void updateM()

{

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=con.createStatement();

String uname=name.getText().trim();

String queryMima="select * from 表user where 用户名='"+uname+"'";

ResultSet rs=sql.executeQuery(queryMima);

if(rs.next())

{

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

String s="update 表user set 密码='"+newMima+"' where 用户名 ='"+uname +"'";

sql=con.createStatement();

int updateMima=sql.executeUpdate(s);

if(updateMima==1)

{

JOptionPane.showMessageDialog(f,"密码修改成功!");

}

con.close();

f.repaint();

}else{

JOptionPane.showMessageDialog(null,"该用户不存在","警告!",

JOptionPane.YES_NO_OPTION);

}

name.setText("");

tf1.setText("");

tf2.setText("");

tf3.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("确定"))

{

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

{

JOptionPane.showMessageDialog(null,"请填写用户的所有信息","提示",

JOptionPane.YES_NO_OPTION);

return;

}

if(tf2.getText().trim().equals(tf3.getText().trim()))

updateM();

}

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

f.hide();

}

public static void main(String[]args)

{

new
UpdatePassword("");

}

}

5.系统实现(包括系统运行界面等)

开始动画:

登录界面,输入用户名,用户密码:

主界面各种功能:

学生搜索:

录入学生:

删除学生:

 

学生概览:

修改密码:

5.总结

通过这次
Java课程设计,我们感觉大体上良好。碰到的问题还是比较多的,比如资料的寻找,代码的修改、完善,界面的一步步优化等。遇到问题就要解决问题,几个一起上网查阅资料,询问大神解答,由此一来,一步步将这次Java课程完成。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

参考文献

[1]陈国军.Java程序设计基础(第5版)[M].北京:清华大学出版社,2006年

  1.  
  2.   [2]毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社2007
  1.  
  2.   [3].王保罗.Java面向对象程序设计[M].北京:清华大学出版社,2003
  1.  
  2.   [4].林邦杰,彻底研究java.北京:电子工业出版社2006
  1.  
  2.   [5] (美)阿诺德,Ken Arnold,等. Java程序设计语言[M]. 北京:人民邮电出版社,2006

[6]
耿祥义,张跃平.
JAVA实用教程[M].清华大学出版社,2005年

《Java程序设计》终极不改版【下】的更多相关文章

  1. 20172306 2018-2019 《Java程序设计与数据结构》第一周学习总结

    20172306 2018-2019 <Java程序设计与数据结构(下)>第一周学习总结 教材学习内容总结 第一章 概述 (程序=数据结构+算法 软件=程序+软件工程) 1.1 软件质量 ...

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

     半年前的作品,上传只为纪念~ 成绩: ____0.1______ Java程序设计  课程设计 题 目:大学生信息管理系统 学 院:  计算机与软件学院 专 业:     网络工程_____­ .  ...

  3. 20175221 《Java程序设计》迭代和JDB(课下作业,选做):

    20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...

  4. 20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

    20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然 ...

  5. 《Java程序设计》第2周学习总结(Markdown语法修改版)

    20175105 2018-2019-2 <Java程序设计>第2周学习总结 Vim操作的一些总结 这些天通过学习,对于vim的操作有了很大的提升,下面我把vim的比较常见的操作方式做了归 ...

  6. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  7. 115个Java面试题和答案——终极列表(下)【转】

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  8. [转]115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  9. 2016-2017-2 《Java程序设计》教学进程

    2016-2017-2 <Java程序设计>教学进程 目录 考核方式 课前准备 教学进程 第00周学习任务和要求 第01周学习任务和要求 第02周学习任务和要求 第03周学习任务和要求 第 ...

随机推荐

  1. 案例:Oracle报错ASM磁盘组不存在或没有mount

    案例:Oracle报错ASM磁盘组不存在或没有mount 环境:RHEL 6.5 + Oracle Standby RAC 11.2.0.4 我做Standby RAC实验时,在恢复控制文件时,报错无 ...

  2. Log4net快速配置使用指南。(快速搭建log4net日志平台手册)

    每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...

  3. Dom的增删查改以及常用事件

    dom的增删查改 // 查 var _input = document.getElementById('_input'); var _div = document.getElementsByClass ...

  4. 喂,前端,你应该知道的chrome插件

    最近,优点闲. 压力,有点大,回顾,曾今被问,你怎么查看内存泄露,然后,一脸蒙. 工欲善其事, 必先利其器 最近在研究chrome devtools,发现,其实他很强.而且chrome6周一次的更新, ...

  5. /etc/fstab最后3个字段详解

    /etc/fstab文件的作用就是让挂载的信息在开启的时候生效: 磁盘分区 挂载目录 文件格式 访问方式 fs_dump fs_pass /dev/sdb1 /mnt ext4 defaults   ...

  6. JavaScript模块化 --- Commonjs、AMD、CMD、es6 modules

    随着前端js代码复杂度的提高,JavaScript模块化这个概念便被提出来,前端社区也不断地实现前端模块化,直到es6对其进行了规范,下面就介绍JavaScript模块化. 这篇文章还是希望能给大家一 ...

  7. OpenCms JSP 模板开发——创建一个简单的JSP模板

    OpenCms中的JSP模板就是一个普通的JSP页面,在特定的位置使用标签来包含内容,在这个的例子中,我们将要开发一个简单JSP模板,这个模板只是在内容(如<html>.<body& ...

  8. Servlet3.1上传图片示例

    一.前端JSP页面 <%@page pageEncoding="UTF-8"%><!DOCTYPE html><html><head> ...

  9. Java 垃圾回收机制(早期版本)

    Java 垃圾回收机制在我们普通理解来看,应该视为一种低优先级的后台进程来实现的,其实早期版本的Java虚拟机并非以这种方式实现的. 先从一种很简单的垃圾回收方式开始. 引用计数 引用计数是一种简单但 ...

  10. 获取MVC中Controller下的Action参数异常

    我现在做的一个项目有一个这样的需求, 比如有一个页面需要一个Guid类型的参数: public ActionResult Index(Guid id) { //doing something ... ...